管理文件和目录的命令
- 改变所在目录:cd
示例:
[root@localhost /]# cd /usr
[root@localhost usr]# cd ../
[root@localhost /]#
- 查看目录下的内容:ls
示例:
[root@localhost /]# ls
bin boot data dev etc ftpserver home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var
[root@localhost /]#
-a 列举目录中的全部文件,包括隐藏文件
-l 列举目录中细节,包括权限、所有者、组群、大小、创建日期、文件是否是链接等
-f 列举的文件显示文件类型
-r 逆向,从后向前地列举目录中内容
-R 递归,该选项递归地列举当前目录下所有子目录内的内容
-s 大小,按文件大小排序
-h 以人类可读的方式显示文件的大小,如用 K、M、G 作单位
Ls -l examples.doc 列举文件 examples.doc 的所有信息
- 列出文件或目录详细信息: ll
示例:
[root@localhost /]# ll
总用量 28
lrwxrwxrwx. 1 root root 7 4月 4 2018 bin -> usr/bin
dr-xr-xr-x. 4 root root 4096 6月 11 23:25 boot
drwxr-xr-x. 3 root root 16 7月 5 03:18 data
drwxr-xr-x. 20 root root 3220 11月 21 22:46 dev
drwxr-xr-x. 81 root root 8192 11月 21 22:51 etc
drwxr-xr-x. 4 root root 30 7月 5 01:52 ftpserver
drwxr-xr-x. 6 root root 50 9月 19 01:47 home
lrwxrwxrwx. 1 root root 7 4月 4 2018 lib -> usr/lib
lrwxrwxrwx. 1 root root 9 4月 4 2018 lib64 -> usr/lib64
drwxr-xr-x. 2 root root 6 8月 12 2015 media
drwxr-xr-x. 2 root root 6 8月 12 2015 mnt
drwxr-xr-x. 3 root root 19 10月 11 05:08 opt
dr-xr-xr-x. 258 root root 0 11月 21 22:45 proc
dr-xr-x---. 8 root root 4096 10月 11 05:34 root
drwxr-xr-x. 22 root root 660 11月 21 22:51 run
lrwxrwxrwx. 1 root root 8 4月 4 2018 sbin -> usr/sbin
drwxr-xr-x. 2 root root 6 8月 12 2015 srv
dr-xr-xr-x. 13 root root 0 11月 21 22:46 sys
drwxrwxrwt. 7 root root 88 11月 21 23:01 tmp
drwxr-xr-x. 13 root root 4096 4月 4 2018 usr
drwxr-xr-x. 20 root root 4096 11月 21 22:45 var
[root@localhost /]#
- 显示当前目录:pwd
示例:
[root@localhost /]# cd /usr/local/
[root@localhost local]# pwd
/usr/local
[root@localhost local]#
- 创建目录: mkdir
示例:
[root@localhost local]# cd software/
[root@localhost software]# mkdir test
[root@localhost software]# ls
test
[root@localhost software]#
- 创建空文件:touch
示例:
[root@localhost software]# touch test.txt
[root@localhost software]# ls
test test.txt
[root@localhost software]#
- 复制文件或文件夹:cp
示例:
[root@localhost software]# cp test.txt test2.txt
[root@localhost software]# ls
test test2.txt test.txt
[root@localhost software]# cp -r test test2
[root@localhost software]# ls
test test2 test2.txt test.txt
[root@localhost software]#
-i 互动:如果文件将覆盖目标中的文件,他会提示确认
-r 递归:这个选项会复制整个目录树、子目录以及其他
-v 详细:显示文件的复制进度
- 移动或重命名:mv
示例:
[root@localhost software]# mv test.txt test/test.txt
[root@localhost software]# cd test
[root@localhost test]# ls
test.txt
[root@localhost test]# mv test.txt test2.txt
[root@localhost test]# ls
test2.txt
[root@localhost test]#
-i 互动:如果选择的文件会覆盖目标中的文件,他会提示确认
-f 强制:它会超越互动模式,不提示地移动文件,属于很危险的选项
-v 详细:显示文件的移动进度
- 删除:rm
示例:
[root@localhost test]# cd ../
[root@localhost software]# rm test2.txt
rm:是否删除普通空文件 "test2.txt"?y
[root@localhost software]# ls
test test2
[root@localhost software]# rm -rf test
[root@localhost software]# ls
test2
[root@localhost software]#
-i 互动:提示确认删除
-f 强制:代替互动模式,不提示确认删除
-v 详细:显示文件的删除进度
-r 递归:将删除某个目录以及其中所有的文件和子目录
- 查看网络参数:ifconfig
示例:
[root@localhost ~]# ifconfig
eno16777736: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.72.147 netmask 255.255.255.0 broadcast 192.168.72.255
inet6 fe80::20c:29ff:fe67:28ad prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:67:28:ad txqueuelen 1000 (Ethernet)
RX packets 255252 bytes 360151244 (343.4 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 45144 bytes 4854201 (4.6 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 0 (Local Loopback)
RX packets 44 bytes 3828 (3.7 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 44 bytes 3828 (3.7 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
[root@localhost ~]#
注:如果没有安装net-tools是不能使用ifconfig命令的
安装命令:yum install net-tools
也可以使用ip add查看网络参数
[root@localhost ~]# ip add
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eno16777736: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:0c:29:67:28:ad brd ff:ff:ff:ff:ff:ff
inet 192.168.72.147/24 brd 192.168.72.255 scope global dynamic eno16777736
valid_lft 1773sec preferred_lft 1773sec
inet6 fe80::20c:29ff:fe67:28ad/64 scope link
valid_lft forever preferred_lft forever
[root@localhost ~]#
- 显示和设置日期:date
示例:
[root@localhost ~]# date
Thu Feb 14 16:19:34 EST 2019
这样看的话不太友好可以使日期格式化后输出
[root@localhost ~]# date "+%Y-%m-%d %H:%I:%S"
2019-02-14 16:04:59
设置日期
[root@localhost ~]# date -s "2019-03-08 14:50:40"
Fri Mar 8 14:50:40 EST 2019
- 查找文件:find
示例:
[root@localhost ~]# find / -name SocketTest.java
/home/SocketTest.java
查找SocketTest开头的文件
[root@localhost ~]# find / -name SocketTest*
/home/SocketTest.java
/home/SocketTest.class
查找.java结尾的文件
[root@localhost ~]# find / -name *.java
/home/SocketTest.java
[root@localhost ~]#
- 显示文件内容:cat
示例:
[root@localhost home]# cat test.txt
第一行
第二行
第三行
第四行
第五行
第五行
第六行
可以使用grep筛选查看文件内容中的某一行
[root@localhost home]# cat test.txt | grep '三'
第三行
[root@localhost home]#
- 查看最新的文件内容:tail
实例:
[root@localhost home]# tail -f test.txt
第一行
第二行
第三行
第四行
第五行
第六行
说明:监视test.txt文件的尾部内容(默认10行,相当于增加参数 -n 10),刷新显示在屏幕上。退出,按下CTRL+C
tail也可以使用grep筛选查看更新的包含指定字符串的行
[root@localhost home]# tail -f test.txt | grep '五'
第五行
说明:这样如果test.txt在刷新时有'五'这个字符的话就会显示如果没有就不显示
- 编辑器:vi和vim
vim可以当作vi的升级版本,他可以用多种颜色的方式来显示一些特殊的信息。
安装vim命令:yum install vim
示例:
vi分为三种状态,分别是一般模式,编辑模式,命令行模式
一般模式:
在编辑模式下按【Esc】回到一般模式
可以上下左右按键来移动光标,还可以删除、复制、粘贴、剪切
删除:del
剪切:dd
粘贴:p或P
复制:yy
复制n行:2yy 复制几行前面就写几
剪切n行:2dd 剪切几行前面就写几
移动到这个文件的最后一行:G
移动到这个文件的第一行:gg
移动到这个文件的第n行:nG(可配合:set nu命令显示行号)
光标向下移动n行:n<Enter>
移动到这一行的最前面字符处:Home
移动到这一行的最后面字符处:End
屏幕往上移动一页:Ctrl+b
屏幕往下移动一页:Ctrl+f
光标向右移动n个字符:n<space>
光标跳到下个字的开头:w(感觉没什么用ヽ(ー_ー)ノ)
光标跳到下个字的字尾:e(感觉没什么用ヽ(ー_ー)ノ)
光标移动到这个屏幕的最上方那一行的第一个字符:H
光标移动到这个屏幕的中间那一行的第一个字符:M
光标移动到这个屏幕的最下方那一行的第一个字符:L
....
编辑模式:
在一般模式下按【i, I, o, O, a, A, r, R】等任何一个字母之后才会进入编辑模式这时候屏幕的左下方会出现【INSERT或 REPLACE】的字样,此时才可以进行编辑。而如果要回到一般模式时, 则必须要按下【Esc】即可退出编辑模式。
当前插入:i
从目前光标所在的第一个字符处插入:I
从目前光标所在的下一个字符处开始插入:a
从光标所在行的最后一个字符处开始插入:A
在目前光标所在的下一行处插入新的一行:o
在目前光标所在处的上一行插入新的一行:O
取代光标所在的那一个字符一次:r
一直取代光标所在的文字:R(直到按下 ESC 为止)
撤销:u
命令行模式:
在一般模式输入【: / ?】三个中的任何一个切换到命令行模式
保存编辑的内容::w
强制写入该文件::w!
离开vi::q
不想保存修改强制离开::q!
保存后离开::wq 或 :x
显示行号::set nu
取消显示行号::set nonu
将该文件编辑后的数据另存为::w 文件名称
读入另一文件内容加到光标所在行的后面::r 文件名称
跳转到指定行::行号
搜索指定内容:/搜索字符 或者 ?搜索字符 (按n到下一处)
- 显示磁盘使用情况:df
示例:
[root@localhost home]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/centos-root 46G 1.7G 44G 4% /
devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs 1.9G 8.7M 1.9G 1% /run
tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
/dev/sda1 497M 125M 373M 26% /boot
tmpfs 379M 0 379M 0% /run/user/0
[root@localhost home]#
- 查看占用:lsof
示例:
查看该程序所占资源
[root@localhost home]# lsof -c java
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
java 21508 root cwd DIR 253,0 4096 67109051 /home
java 21508 root rtd DIR 253,0 4096 128 /
....
java 21508 root 12u IPv4 47562 0t0 UDP *:9068
[root@localhost home]#
查看该进程号所占用资源
[root@localhost home]# lsof -p 21508
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
java 21508 root cwd DIR 253,0 4096 67109051 /home
java 21508 root rtd DIR 253,0 4096 128 /
....
java 21508 root 12u IPv4 47562 0t0 UDP *:9068
[root@localhost home]#
查看某个端口占用情况
[root@localhost home]# lsof -i :9068
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
java 21508 root 12u IPv4 47562 0t0 UDP *:9068
[root@localhost home]#
- 系统资源占用显示:top
示例:
[root@localhost home]# top
top - 17:05:28 up 6:26, 3 users, load average: 0.00, 0.01, 0.05
Tasks: 271 total, 2 running, 269 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 3874956 total, 1947888 free, 604556 used, 1322512 buff/cache
KiB Swap: 4063228 total, 4063228 free, 0 used. 2970552 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
11615 root 20 0 5042668 365664 13516 S 0.3 9.4 0:41.52 java
22727 root 20 0 146276 2188 1420 R 0.3 0.1 0:00.19 top
1 root 20 0 44488 7176 2612 S 0.0 0.2 0:03.26 systemd
2 root 20 0 0 0 0 S 0.0 0.0 0:00.04 kthreadd
3 root 20 0 0 0 0 S 0.0 0.0 0:00.09 ksoftirqd/0
5 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/0:0H
7 root rt 0 0 0 0 S 0.0 0.0 0:00.05 migration/0
8 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcu_bh
9 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/0
10 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/1
11 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/2
12 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/3
13 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/4
14 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/5
15 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/6
16 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/7
17 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/8
18 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/9
19 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/10
20 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/11
21 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/12
22 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/13
23 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/14
24 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/15
25 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/16
只刷新3次,就停止
[root@localhost home]# top -n 3
....
说明:按Ctrl+c退出 top模式
- 进程查看:ps
示例:
显示所有进程并全格式
[root@localhost home]# ps -ef
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 10:38 ? 00:00:03 /usr/lib/systemd/systemd --switched-root --system --deserialize 21
root 2 0 0 10:38 ? 00:00:00 [kthreadd]
root 3 2 0 10:38 ? 00:00:00 [ksoftirqd/0]
root 5 2 0 10:38 ? 00:00:00 [kworker/0:0H]
root 7 2 0 10:38 ? 00:00:00 [migration/0]
root 8 2 0 10:38 ? 00:00:00 [rcu_bh]
root 9 2 0 10:38 ? 00:00:00 [rcuob/0]
...
root 21508 1 0 12:06 ? 00:00:21 java -jar JarTest.jar
[root@localhost home]#
这样会很多可以使用grep进行搜索所有需要的
[root@localhost home]# ps -ef|grep java
root 11615 1 0 11:10 ? 00:00:42 java -jar monitor-tuning-1.0-SNAPSHOT.jar
root 21508 1 0 12:06 ? 00:00:21 java -jar JarTest.jar
root 22764 22292 0 17:18 pts/0 00:00:00 grep --color=auto java
[root@localhost home]#
可以根据CPU使用进行升序排序
[root@localhost home]# ps -aux --sort -pcpu | less
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 11615 0.1 9.4 5042668 365664 ? Sl 11:10 0:42 java -jar monitor-tuning-1.0-SNAPSHOT.jar
root 21508 0.1 2.4 4443904 96572 ? Sl 12:06 0:21 java -jar JarTest.jar
root 1 0.0 0.1 44488 7176 ? Ss 10:38 0:03 /usr/lib/systemd/systemd --switched-root --system --deserialize 21
...
[root@localhost home]#
按q退出
可以根据内存使用进行升序排序
[root@localhost home]# ps -aux --sort -pmem | less
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 11615 0.1 9.4 5042668 365664 ? Sl 11:10 0:42 java -jar monitor-tuning-1.0-SNAPSHOT.jar
root 21508 0.1 2.4 4443904 96572 ? Sl 12:06 0:21 java -jar JarTest.jar
root 839 0.0 0.6 323576 23260 ? Ssl 10:39 0:00 /usr/bin/python -Es /usr/sbin/firewalld --nofork --nopid
...
[root@localhost home]#
网友评论