美文网首页
Linux常用命令

Linux常用命令

作者: SoulBGM | 来源:发表于2019-03-08 17:31 被阅读0次

    管理文件和目录的命令

    1. 改变所在目录:cd
      示例:
    [root@localhost /]# cd /usr
    [root@localhost usr]# cd ../
    [root@localhost /]# 
    
    1. 查看目录下的内容: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 的所有信息
    
    1. 列出文件或目录详细信息: 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 /]# 
    
    1. 显示当前目录:pwd
      示例:
    [root@localhost /]# cd /usr/local/
    [root@localhost local]# pwd
    /usr/local
    [root@localhost local]# 
    
    1. 创建目录: mkdir
      示例:
    [root@localhost local]# cd software/
    [root@localhost software]# mkdir test
    [root@localhost software]# ls
    test
    [root@localhost software]# 
    
    1. 创建空文件:touch
      示例:
    [root@localhost software]# touch test.txt
    [root@localhost software]# ls
    test  test.txt
    [root@localhost software]# 
    
    1. 复制文件或文件夹: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 详细:显示文件的复制进度
    
    1. 移动或重命名: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 详细:显示文件的移动进度
    
    1. 删除: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 递归:将删除某个目录以及其中所有的文件和子目录
    
    1. 查看网络参数: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 ~]# 
    
    1. 显示和设置日期: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
    
    
    1. 查找文件: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 ~]# 
    
    1. 显示文件内容:cat
      示例:
    [root@localhost home]# cat test.txt 
    第一行
    第二行
    第三行
    第四行
    第五行
    第五行
    第六行
    
    可以使用grep筛选查看文件内容中的某一行
    [root@localhost home]# cat test.txt | grep '三'
    第三行
    [root@localhost home]# 
    
    1. 查看最新的文件内容: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在刷新时有'五'这个字符的话就会显示如果没有就不显示
    
    1. 编辑器: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到下一处)
    
    1. 显示磁盘使用情况: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]# 
    
    1. 查看占用: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]# 
    
    1. 系统资源占用显示: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模式
    
    1. 进程查看: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]# 
    

    相关文章

      网友评论

          本文标题:Linux常用命令

          本文链接:https://www.haomeiwen.com/subject/wtcdpqtx.html