Linux常用命令总结

3 篇文章 0 订阅
1 篇文章 0 订阅

查找类

  1. find

    find命令可以用于查找文件目录,同时还支持在查找之后执行命令,该命令的原理是在硬盘当中进行查找所以相对的速度会比较慢但是准确性比较好

    参数

    name:按文件名或目录名进行查找
    user:按文件或目录所属用户进行查找
    perm:按文件或目录的权限进行查找
    d:指定查找的深度
    size:指定查找文件或目录的大小
    type:指定查找的类型
    d:目录
    f:文件
    exec:用于查找之后执行命令


    演示
    find / -name shell.exe 表示查找根下名称为shell.exe的文件或目录

    ┌──(root💀kali)-[~]
    └─# find / -name shell.exe
    /root/shell.exe
    

    find / -name kali-njh -type d 查找根下名为kali-njh的目录

    ┌──(root💀kali)-[~]
    └─# find / -name kali-njh -type d
    /media/kali-njh
    /var/lib/lightdm/data/kali-njh
    /home/kali-njh
    

    find / -perm 4755 -type f 查看根下权限为4755的文件

    ┌──(root💀kali)-[~]
    └─# find / -perm 4755 -type f                                                                                 
    /usr/lib/mysql/plugin/auth_pam_tool_dir/auth_pam_tool
    /usr/lib/openssh/ssh-keysign
    /usr/libexec/polkit-agent-helper-1
    /usr/bin/mount
    /usr/bin/chsh
    /usr/bin/ntfs-3g
    /usr/bin/umount
    /usr/bin/passwd
    /usr/bin/newgrp
    /usr/bin/chfn
    /usr/bin/pkexec
    /usr/bin/su
    /usr/bin/fusermount3
    /usr/bin/sudo
    /usr/bin/gpasswd
    /usr/bin/vmware-user-suid-wrapper
    /usr/sbin/mount.nfs
    /usr/sbin/mount.cifs
    find: ‘/proc/7725/task/7725/fdinfo/5’: 没有那个文件或目录
    find: ‘/proc/7725/fdinfo/6’: 没有那个文件或目录
    

    find / -name shel.exe -type f -exec rm -f {} \ 查找根下名为shell.exe的文件然后将其删除大括号表示的是前面查询出来的内容,\表示结束,可以看到shell.exe已经被删除了

    ┌──(root💀kali)-[~]
    └─# ls
    公共  视频  文档  音乐  ip_forward~  ip.txt   p6.dic       shell1.exe  shy.exe
    模板  图片  下载  桌面  ip_forwarz~  nmap_sn  rockyou.txt  shell.exe   u6.dic
    
    ┌──(root💀kali)-[~]
    └─# find / -name shell.exe -type f -exec rm  {} \;                                                           
    
    ┌──(root💀kali)-[~]
    └─# ls                                                                                                        
    公共  视频  文档  音乐  ip_forward~  ip.txt   p6.dic       shell1.exe  u6.dic
    模板  图片  下载  桌面  ip_forwarz~  nmap_sn  rockyou.txt  shy.exe
    
    

  1. locate

    作用和find差不多只不过该参数是在 /var/lib/mlocate/mlocate.db 这个数据库当中去进行查找,这里面存储的是最近的文件和目录信息,比起在硬盘进行查找的话速度上面会快很多。但是准确性也会下降因为这个数据库是默认一天更新一次,也就是说如果我们在前一刻创建或删除了一个文件的话,使用这个命令查询的信息就会不太准确,但是也可以使用命令 updatedb 对该数据库进行更新

    参数

    -l:限制输出的条目数
    -i:忽略大小写
    -e:会去检测文件或目录是否存在,不使用该参数的话直接在数据库中查找不对结果进行验证是否存在
    -S:查看数据库中的文件和目录的情况更占多少
    -c:只打印找到的条目数
    -d:指定一个数据库而不是使用默认的数据库


    演示
    locate -S 只打印数据库的情况,输出数据库文件和目录所占的大小

    ┌──(root💀kali)-[~]
    └─# locate -S
    数据库 /var/lib/mlocate/mlocate.db:
        31,062 文件夹
        360,289 文件
        23,005,292 文件名中的字节数
        8,740,636 字节用于存储数据库
    
    

    locate -e shell.exe 去检测查询结果是否真实存在,因为数据库的更新有一定的滞后性可能文件已经删除此时会去访问文件查看文件是否真实存在,如下对比使用了和没有使用该参数的差异shell.exe文件实际是已经被删除了但是数据库还未更新,导致结果存在偏差此时就会去判断文件是否真的存在

    ┌──(root💀kali)-[~]
    └─# locate shell.exe
    /root/shell.exe
    
    ┌──(root💀kali)-[~]
    └─# locate -e shell.exe  
    

    locate -c 2 ip.txt 只输出查找的结果的条目数

    ┌──(root💀kali)-[~]
    └─# locate -c ip.txt
    4
    

  1. whereis

    查看命令的man手册、二进制文件、源代码所在位置,在查找命令的时候是在PATH环境变量中进行查找的

    参数

    -b:只查找二进制文件。
    -m:只查找说明文件。
    -s:只查找原始代码文件。


    演示
    whereis -b ls 只查看ls命令的二进制文件所在位置

    ┌──(root💀kali)-[~]
    └─# whereis -b ls                                                                                            
    ls: /usr/bin/ls
    

    whereis -s ls 查看原始文件所在的位置

    ┌──(root💀kali)-[~]
    └─# whereis -s vim
    vim:
    

    whereis -m ls 查看ls命令的man手册所在位置

    ┌──(root💀kali)-[~]
    └─# whereis -m ls                                                                                           
    ls: /usr/share/man/man1/ls.1.gz
    

  1. which

    查看命令的二进制文件所在的位置也就是可执行文件所在的位置,该命令是在PATH路径中进行查找的


    演示
    which ls 查看ls的可执行文件所在位置

    ┌──(root💀kali)-[~]
    └─# which ls                                                                                                  
    /usr/bin/ls
    

用户管理类

  1. useradd

    新增用户

    参数

    -c:加上备注文字,备注文字保存在passwd的备注栏中。
    -d:指定用户登入时的启始目录。
    -D:变更预设值。
    -e:指定账号的有效期限,缺省表示永久有效。
    -f:指定在密码过期后多少天即关闭该账号。
    -g:指定用户所属的群组。  
    -G:指定用户所属的附加群组。当一个组的用户只是把该组当作是附加组的话这个 组可以删除但是当组有用户以此为基本组的话是不能对该组进行删除的  
    -m:自动建立用户的登入目录。  
    -M:不要自动建立用户的登入目录。  
    -n:取消建立以用户名称为名的群组。  
    -r:建立系统账号。  
    -s:指定用户登入后所使用的shell。
    -u:指定用户ID号。


    演示
    useradd -D查看对应的预设值

    ┌──(root💀kali)-[~]
    └─# useradd -D
    GROUP=100
    HOME=/home
    INACTIVE=-1
    EXPIRE=
    SHELL=/bin/sh
    SKEL=/etc/skel
    CREATE_MAIL_SPOOL=no
    

    useradd -m test 自动为用户创建登录目录默认是以用户名命令的在/home目录下,可以看到home目录下已经创建了test文件夹

    ┌──(root💀kali)-[/home]
    └─# useradd -m test                                                                                          
    
    ┌──(root💀kali)-[/home]
    └─# ls                                                                                                        
    kali-njh  test  weblogic
    
    

    useradd test -u 1001 为用户指定一个ID值也就是UID,将之前创建test用户删除了然后使用-u指定创建的用户的id值,在/etc/passwd中可以看到uid是我们所指定的500

    ┌──(root💀kali)-[/home]
    └─# userdel -r test
    userdel:test 信件池 (/var/mail/test) 未找到
    
    ┌──(root💀kali)-[/home]
    └─# useradd test -u 500
    
    ┌──(root💀kali)-[/home]
    └─# cat /etc/passwd | grep test
    test:x:500:1005::/home/test:/bin/sh
    

    useradd -d /home/test test 为用户指定登录目录在登录之后自动进行该目录下,使用 su - test 之后查看当前目录可以看到是我们指定的目录

    ┌──(root💀kali)-[/home]
    └─# userdel -r test
    userdel:test 信件池 (/var/mail/test) 未找到
    userdel:未找到 test 的主目录“/home/test”
    
    ┌──(root💀kali)-[/home]
    └─# useradd -d /home/kali-njh test  #指定登录目录为kali-njh
    
    ┌──(root💀kali)-[/home]
    └─# su - test		#切换用户的时候进入用户的登录目录                                                                                                 
    ┏━(Message from Kali developers)
    ┃
    ┃ We have kept /usr/bin/python pointing to Python 2 for backwards
    ┃ compatibility. Learn how to change this and avoid this message:
    ┃ ⇒ https://www.kali.org/docs/general-use/python3-transition/
    ┃
    ┗━(Run: “touch ~/.hushlogin” to hide this message)
    $ pwd   #查看当前目录
    /home/kali-njh
    

    useradd -r test 创建一个系统用户,UID 号为 0 的是为 root 用户保留的,UID 号 1 到 99 是为系统用户保留的,UID 号 100-999 是为系统账户和群组保留的。可以看到创建的用户的id值在100-999之间是一个系统用户

    ┌──(root💀kali)-[~]
    └─# useradd -r test                                                                                           
    
    ┌──(root💀kali)-[~]
    └─# cat /etc/passwd | grep test
    test:x:998:998::/home/test:/bin/sh
    

    useradd -g 1002 test 指定用户所属的用户组,默认用户的组和用户名相同如果用户没有删除是无法删除组的,可以使用-n不建立以用户名为名称的组,使用-G指定用户的附加组,如果一个组的所有用户都只是把这个组当作附加组那么这个组是可以被删除的

    ┌──(root💀kali)-[~]
    └─# useradd -g 1002 test
    
    ┌──(root💀kali)-[~]
    └─# cat /etc/passwd | grep test                                                                              
    test:x:1004:1002::/home/test:/bin/sh
    

    useradd -s /usr/bin/bash test 指定用户的shell普通用户的shell默认是/bin/sh,root用户为/sbin/bash,可以看到shell是我们所指定的解释器

    ┌──(root💀kali)-[~]
    └─# useradd -s /usr/bin/bash test
    
    ┌──(root💀kali)-[~]
    └─# cat /etc/passwd | grep test
    test:x:1004:1005::/home/test:/usr/bin/bash
    

  1. userdel

    删除用户

    参数

    -r:删除用户的时候将用户的登录目录以及用户的邮件地址一起删除了,但是当用户使用-d指定的登录目录的所属用户不是该用户的话会删除失败
    -f:即使登录目录不是该用户的也强制删除


    演示
    userdel -r test 删除用户的同时删除登录目录以及邮件目录,可以看到当登录目录的所属用户(root)不是该用户(test)的时候会删除失败

    ┌──(root💀kali)-[/home]
    └─# useradd -d /home/aaa/ test
    
    ┌──(root💀kali)-[/home]
    └─# userdel -r test                                                                                           
    userdel:test 信件池 (/var/mail/test) 未找到
    userdel:/home/aaa/ 并不属于 test,所以不会删除
    
    ┌──(root💀kali)-[/home]
    └─# ls -l
    总用量 12
    drwxr-xr-x  2 root     root     4096 122 22:17 aaa
    drwxr-xr-x 28 kali-njh kali-njh 4096 1110 10:58 kali-njh
    drwxr-xr-x 17 weblogic web      4096 1025 21:51 weblogic
    

    userdel -f -r test 使用-f强制删除登录目录即使不是该用户所属的

    ┌──(root💀kali)-[/home]
    └─# useradd -d /home/aaa/ test
    
    ┌──(root💀kali)-[/home]
    └─# userdel -f -r test  
    
    ┌──(root💀kali)-[/home]
    └─# ls                                                                                                        
    kali-njh  weblogic 
    

  1. passwd

    密码设置

    参数

    -a, --all:报告所有帐户的密码状态
    -d, --delete:删除指定帐户的密码
    -e, --expire:强制使指定帐户的密码过期
    -h, --help:显示此帮助信息并退出
    -l, --lock:锁定指定的帐户
    -u, --unlock:解锁被指定帐户
    -n, --mindays MIN_DAYS:设置到下次修改密码所须等待的最短天数为 MIN_DAYS
    -x, --maxdays MAX_DAYS:设置到下次修改密码所须等待的最多天数为 MAX_DAYS
    -q, --quiet:安静模式
    -S, --status:报告指定帐户密码的状态
    -w, --warndays WARN_DAYS:设置过期警告天数为 WARN_DAYS


    passwd test 向用户添加密码,可以看到用户的密码位保存了密码的hash值

    在shadow文件中第二列保存的是用户的,一行为一个用户,如果第二列是*或者!表示这是一个程序用户或者系统用户不用于登录的,后面依此是密码修改的时间到1970.1.1的天数、密码修改的间隔时间为0表示随时可以修改、密码的有效期为99999表示永久有效、密码过期前多久提醒用户、密码过期和在多久内可用、账户的失效时间、保留的字段

    ┌──(root💀kali)-[~]
    └─# cat /etc/shadow | grep test
    test::18966:0:99999:7:::
    
    ┌──(root💀kali)-[~]
    └─# passwd test
    新的 密码:
    重新输入新的 密码:
    passwd:已成功更新密码
    
    ┌──(root💀kali)-[~]
    └─# cat /etc/shadow | grep test
    test:$y$j9T$qvI/8W5WZTGCkOWxY6vcZ0$uDmgloRUNjoxya6Bdh7RBkHYSzKMVpINSzQuLc.JI45:18966:0:99999:7:::
    

    passwd -d test 删除指定用户的密码,如下test的密码被删除了

    ┌──(root💀kali)-[~]
    └─# cat /etc/shadow | grep test      
     test:$y$j9T$mA1.Lit4WOB/fe8KF0Dzb.$25JrqT5g3IGpZDc1yS3G1tTSR0bgP2aaf5nI4e/nDo/:1896    6:0:99999:7:::
    ┌──(root💀kali)-[~]
    └─# passwd -d test                                                                                            
    passwd:密码过期信息已更改。
    
    ┌──(root💀kali)-[~]
    └─# cat /etc/shadow | grep test
    test::18966:0:99999:7:::                                                                      			    	
    

    passwd -e test 强制指定用用户的密码过期,可以看到用户密码的修改时间变为了0表示用户密码已经失效了

    ┌──(root💀kali)-[~]
    └─# passwd -e test
    passwd:密码过期信息已更改。
    
    ┌──(root💀kali)-[~]
    └─# cat /etc/shadow | grep test                                                                               
    test:$y$j9T$qvI/8W5WZTGCkOWxY6vcZ0$uDmgloRUNjoxya6Bdh7RBkHYSzKMVpINSzQuLc.JI45:0:0:99999:7:::
    

    passwd -l test 锁定用户,锁定之后用户无法登录,如下可以看到用户的密码位前多了一个!表示用户锁定无法登录

    ┌──(root💀kali)-[~]
    └─# cat /etc/shadow | grep test
    test:$y$j9T$U6qIhwOjvO9QNNg.lZqne1$Chnfvbk6OookmpUQwmqTMhZ3./wYkUPDdChXjPrtL48:18966:0:99999:7:::
    
    ┌──(root💀kali)-[~]
    └─# passwd -l test                                                                                            
    passwd:密码过期信息已更改。
    
    ┌──(root💀kali)-[~]
    └─# cat /etc/shadow | grep test                                                                               
    test:!$y$j9T$U6qIhwOjvO9QNNg.lZqne1$Chnfvbk6OookmpUQwmqTMhZ3./wYkUPDdChXjPrtL48:18966:0:99999:7:::
    

    passwd -u test 解锁用户,叹号去除了表示用户可以登录了

    ┌──(root💀kali)-[~]
    └─# cat /etc/shadow | grep test                                                                               
    test:!$y$j9T$U6qIhwOjvO9QNNg.lZqne1$Chnfvbk6OookmpUQwmqTMhZ3./wYkUPDdChXjPrtL48:18966:0:99999:7:::
    
    ┌──(root💀kali)-[~]
    └─# passwd -u test                                                                                            
    passwd:密码过期信息已更改。
    
    ┌──(root💀kali)-[~]
    └─# cat /etc/shadow | grep test                                                                               
    test:$y$j9T$U6qIhwOjvO9QNNg.lZqne1$Chnfvbk6OookmpUQwmqTMhZ3./wYkUPDdChXjPrtL48:18966:0:99999:7:::
    

    passwd -n 5 test 设置密码过期的最短时间,可以看到第4个位置的数字变成了5表示至少5天后才能修改密码

    ┌──(root💀kali)-[~]
    └─# cat /etc/shadow | grep test
    test:$y$j9T$kCFqBSY17QTNSXkxJ0Yck.$ppbZy.dUyrkXiqiQwEh7xcnZT5lYTogyVQITtjwLMF9:18966:0:99999:7:::
    
    ┌──(root💀kali)-[~]
    └─# passwd -n 5 test                                                                                          
    passwd:密码过期信息已更改。
    
    ┌──(root💀kali)-[~]
    └─# cat /etc/shadow | grep test                                                                               
    test:$y$j9T$kCFqBSY17QTNSXkxJ0Yck.$ppbZy.dUyrkXiqiQwEh7xcnZT5lYTogyVQITtjwLMF9:18966:5:99999:7:::
    

    passwd -x 10 test 设置账户密码修改的最大间隔天数,可以看到99999已经变成了10,表示10天后密码失效

    ┌──(root💀kali)-[~]
    └─# cat /etc/shadow | grep test                                                                               
    test:$y$j9T$kCFqBSY17QTNSXkxJ0Yck.$ppbZy.dUyrkXiqiQwEh7xcnZT5lYTogyVQITtjwLMF9:18966:5:99999:7:::
    
    ┌──(root💀kali)-[~]
    └─# passwd -x 10 test                                                                           
    passwd:密码过期信息已更改。
    
    ┌──(root💀kali)-[~]
    └─# cat /etc/shadow | grep test                                                                               
    test:$y$j9T$kCFqBSY17QTNSXkxJ0Yck.$ppbZy.dUyrkXiqiQwEh7xcnZT5lYTogyVQITtjwLMF9:18966:5:10:7:::
    

    passwd -w 4 test 指定密码失效前多久进行报警提醒

    ┌──(root💀kali)-[~]
    └─# cat /etc/shadow | grep test                                                                               
    test:$y$j9T$kCFqBSY17QTNSXkxJ0Yck.$ppbZy.dUyrkXiqiQwEh7xcnZT5lYTogyVQITtjwLMF9:18966:5:10:7:::
    
    ┌──(root💀kali)-[~]
    └─# passwd -w 4 test                                                                               
    passwd:密码过期信息已更改。
    
    ┌──(root💀kali)-[~]
    └─# cat /etc/shadow | grep test                                                                               
    test:$y$j9T$kCFqBSY17QTNSXkxJ0Yck.$ppbZy.dUyrkXiqiQwEh7xcnZT5lYTogyVQITtjwLMF9:18966:5:10:4:::
    

    passwd -S test 输出账户的密码状态,其中P表示账户可用为L的话表示账户锁定、密码修改的天数、密码在多少天之后可以修改、密码失效的时间、失效前多久提醒,-1表示intractive值为-1没有设置也就是在shadow文件中第7个位置没有设置值,passwd -Sa 列出所有用户的状态

    ┌──(root💀kali)-[~]
    └─# passwd -S test
    test P 12/05/2021 5 10 4 -1
    
    ┌──(root💀kali)-[~]
    └─# passwd -l test                                                                                           
    passwd:密码过期信息已更改。
    
    ┌──(root💀kali)-[~]
    └─# passwd -S test                                                                                            
    test L 12/05/2021 5 10 4 -1
    

  1. usermod

    修改用户登录信息,如登录之后的家目录

    参数

    -b, --badnames                allow bad names
    -c, --comment COMMENT         GECOS 字段的新值
    -d, --home HOME_DIR           用户的新主目录
    -e, --expiredate EXPIRE_DATE  设定帐户过期的日期为 EXPIRE_DATE
    -f, --inactive INACTIVE       过期 INACTIVE 天数后,设定密码为失效状态
    -g, --gid GROUP               强制使用 GROUP 为新主组
    -G, --groups GROUPS           新的附加组列表 GROUPS
    -a, --append GROUP            将用户追加至上边 -G 中提到的附加组中,
                                并不从其它组中删除此用户
    -h, --help                    显示此帮助信息并退出
     -l, --login NEW_LOGIN         新的登录名称
    -L, --lock                    锁定用户帐号
    -m, --move-home               将家目录内容移至新位置 (仅于 -d 一起使用)
    -o, --non-unique              允许使用重复的(非唯一的) UID
    -p, --password PASSWORD       将加密过的密码 (PASSWORD) 设为新密码
    -R, --root CHROOT_DIR         chroot 到的目录
    -P, --prefix PREFIX_DIR       prefix directory where are located the /etc/* files
    -s, --shell SHELL             该用户帐号的新登录 shell
    -u, --uid UID                 用户帐号的新 UID
    -U, --unlock                  解锁用户帐号
    -v, --add-subuids FIRST-LAST  添加子 UID 范围
    -V, --del-subuids FIRST-LAST  移除子 UID 范围
    -w, --add-subgids FIRST-LAST  添加子 GID 范围
    -W, --del-subgids FIRST-LAST  移除子 GID 范围
    -Z, --selinux-user SEUSER     用户的新的 SELinux 用户映射
    
    
  2. finger*

    查询用户信息

    参数

    -s:
    -l:
    -p:
    -m:
    

进程管理类

  1. ps
    参数

    -a:显示当前终端下运行的所有进程、除了shell解释器
    -x:显示所有与终端相关的进程
    -A:显示系统允许的所有进程
    -e:同-A选项显示所有的进程
    -C:显示指定命令的进程
    -f:显示UID用户ID、PPID父进程ID、C、STIME进程开始运行的时间信息
    -p:查看指定进程号的进程信息
    -l:显示进程的详细信息
    -L:查看指定进程的线程


    ps -a 输出当前终端下的所有进程,我们先在后台运行一下wireshark然后查看,可以看见当前终端正在运行两个进程一个是ps一个是wireshark

    ┌──(root💀kali)-[/home/kali-njh/Learn_dir]
    └─# wireshark &                                                                                                
    [1] 2115
    
    #输出的第一行的含有:PID是进程号、TTY是终端名称、TIME是进程使用的CPU时间、CMD是命令
    ┌──(root💀kali)-[/home/kali-njh/Learn_dir]
    └─# ps -a                                                                                                      
     PID TTY          TIME CMD
    2115 pts/0    00:00:02 wireshark
    2202 pts/0    00:00:00 ps
    

    ps -A 显示系统中所有的进程同-e选项,不以终端区分也就是说不管是否是和终端相关都显示

    #这里只显示一部分,还有很多没有显示可以,看到这里有其他终端也有不是很终端有关的都显示出来了
    #并且看到还有一个1157 pts/0    00:00:00 bash是当前终端的shell使用-a是不会显示这个进程的
    ┌──(root💀kali)-[/home/kali-njh/Learn_dir]
    └─# ps -A                                                                                                      
    	PID TTY          TIME CMD
      	1 ?        00:00:02 systemd
      	694 tty7     00:00:17 Xorg
    	695 tty1     00:00:00 agetty
     	1157 pts/0    00:00:00 bash
     	1938 ?        00:00:02 kworker/0:2-events
     	2050 ?        00:00:00 kworker/u256:2-flush-8:0
     	2115 pts/0    00:00:05 wireshark
     	2229 pts/0    00:00:00 dumpcap
     	2236 pts/0    00:00:00 ps
     
        2236 pts/0    00:00:00 ps
    
    #-e选项和-A选项的效果是一样的
    ┌──(root💀kali)-[/home/kali-njh/Learn_dir]
    └─# ps -e                                                                                                      
    	PID TTY          TIME CMD
      	1 ?        00:00:02 systemd
    	 694 tty7     00:00:22 Xorg
    	695 tty1     00:00:00 agetty
    	1157 pts/0    00:00:00 bash
    	 2115 pts/0    00:00:09 wireshark
    	2229 pts/0    00:00:00 dumpcap
    	2251 pts/0    00:00:00 ps
    

    ps -c 显示CLS和PRI栏的信息,其中PRI表示的是内核调度的优先级

    ┌──(root💀kali)-[/home/kali-njh/Learn_dir]
    └─# ps -c                                                                                                      
    	PID CLS PRI TTY          TIME CMD
    	1157 TS   19 pts/0    00:00:00 bash
        2115 TS   19 pts/0    00:00:12 wireshark
     	2346 TS   19 pts/0    00:00:00 ps
    

    ps -C 命令 指定一个命令查询与该命令相关的进程也就是CMD为指定的名称的进程

    ┌──(root💀kali)-[/home/kali-njh/Learn_dir]
    └─# ps -C wireshark                                                                                            
    	PID TTY          TIME CMD
    	2115 pts/0    00:00:13 wireshark
    ┌──(root💀kali)-[/home/kali-njh/Learn_dir]
    └─# ps -C ps                                                                                                   
    	PID TTY          TIME CMD
     	2366 pts/0    00:00:00 ps
    

    ps -f 显示用户名、父进程id、进程开始运行的时间、以及C

    ┌──(root💀kali)-[/home/kali-njh/Learn_dir]
    └─# ps -f
    UID          PID    PPID  C STIME TTY          TIME CMD
    root        1157    1154  0 19:55 pts/0    00:00:00 /bin/bash
    root        2115    1157  0 22:13 pts/0    00:00:13 wireshark
    root        2377    1157  0 23:06 pts/0    00:00:00 ps -f
    

    ps -p 2115 查看进程号为2115的进程信息

    ┌──(root💀kali)-[/home/kali-njh/Learn_dir]
    └─# ps -p 2115
     	PID TTY          TIME CMD
    	2115 pts/0    00:00:14 wireshark
    

    ps -p 2115 -l 显示2115进程的详细信息

    ┌──(root💀kali)-[/home/kali-njh/Learn_dir]
    └─# ps -p 2115 -l                                                                                             
    F S   UID     PID    PPID  C PRI  NI ADDR SZ WCHAN  TTY          TIME CMD
    4 S     0    2115    1157  0  80   0 - 261335 -     pts/0    00:00:15 wireshark
    

    ps -L 2115 查看2115进程的线程信息

    #STAT表示状态、LWP表示
    ┌──(root💀kali)-[/home/kali-njh/Learn_dir]
    └─# ps -L 2115                                                                                                 
     	PID     LWP TTY      STAT   TIME COMMAND
    	2115    2115 pts/0    Sl     0:14 wireshark
    	2115    2116 pts/0    Sl     0:00 wireshark
    	2115    2117 pts/0    Sl     0:00 wireshark
    	2115    2119 pts/0    Sl     0:00 wireshark
    	2115    2125 pts/0    SNl    0:00 wireshark
    	2115    2126 pts/0    SNl    0:00 wireshark
    	2115    2127 pts/0    SNl    0:00 wireshark
    	2115    2128 pts/0    SNl    0:00 wireshark
    	2115    2258 pts/0    Sl     0:00 wireshark
    


  1. top

  1. kill

  1. fg

  1. bg

  1. netstat

文件查看类

  1. ls

    用户查看文件或目录的信息

    参数

    -a:查看指定目录下所有文件包括隐藏文件(以点开头的文件),同时还包括’.‘当前目录,’…'上级目录
    -A:同a差别不大只不过不包括点和点点也就是当前目录和上级目录
    -l:查看详细信息,包括目录或文件的权限创建的时间大小等等
    -h:同-l一起使用以人类可读的方式进行显示也就是在大小前面加上单位
    -t:以最后修改时间为序进行排序,由近到远
    -X:以文件的拓展名进行排序,由字母的顺序由前到后不分大小写
    -S:以文件大小进行排序,由大到小
    -r:进行逆序排序


    演示
    ls -a 查看当前目录下的所有文件以及目录,包括隐藏文件和目录以及.(当前目录)和…(上级目录)。而-A 没有其中的.和…

     #可以看到其中有以点开头的还有.和..
    ┌──(root💀kali)-[/home/kali-njh]  
    └─# ls -a
    .     音乐              .cache    .face.icon          .john      .presage               .Xauthority
    ..    桌面              .config   .gnome              .kde       .profile               .xsession-errors
    公共  .bash_history     .dbus     .gnupg              Learn_dir  .p.txt.swp             .xsession-errors.old
    
    #当使用-A的时候.和..没有了也就是不显示当前目录和上一级目录
    ┌──(root💀kali)-[/home/kali-njh]
    └─# ls -A                                                                                                     
    公共           .bashrc           .face               .kde        .python-rshell.py.swp
    模板           .bashrc.original  .face.icon          Learn_dir   .rediscli_history
    视频           .BurpSuite        .gnome              .local      .ssh
    

    ls -l 查看文件和目录的详细信息,包括权限、最后修改时间、大小、名称等

    #显示目录的所有文件和目录的详细信息第一列表示权限
    #第一列的第一个字母表示d表示目录、如果是-表示的是文件、l表示是链接文件
    #第一列的后面没三个表示一个权限前三个字母表示所属用户的权限,r表示可读、w为可写、x为可执行、-表示没有对应的权限如r-x表示有可读可执行没有可写,rwx表示可读可写没有可执行,后面第二个是用户组的权限,第三个是其他用户的权限
    #第二列为所属的用户
    #第三列为所属的用户组
    #第四列为大小
    #第五-七列为最近一次修改的月、日、时间
    #第八列为名称
    ┌──(root💀kali)-[/home/kali-njh/Learn_dir]
    └─# ls -l                                                                                                     
    总用量 5040
    drwxr-xr-x 3 root root    4096 114 12:00 39772
    -rwxr-xr-x 1 root root    1151 117 14:10 41154.sh
    drwxr-xr-x 2 root root    4096 1126 15:47 brute_file
    -rwxrw-rw- 1 root root 5090239 1120 18:47 caidao
    -rw-r--r-- 1 root root    2048 125 16:01 Cknife.db
    drwxr-xr-x 2 root root    4096 1025 11:35 Cmd_learn
    -rw-r--r-- 1 root root   33182 1120 18:54 Config.ini
    drwxrwxrwx 6 root root    4096 1126 13:59 cs
    drwxr-xr-x 2 root root    4096 1126 13:38 CS
    drwxr-xr-x 2 root root    4096 1126 15:11 Webshell
    

    ls -h -l 以人类易读的形式显示也就是说带上单位需要同-l一起使用

    #在文件大小的地方加上了单位
    ┌──(root💀kali)-[/home/kali-njh/Learn_dir]
    └─# ls -lh                                                                                                    
    总用量 5.0M
    drwxr-xr-x 3 root root 4.0K 114 12:00 39772
    -rwxr-xr-x 1 root root 1.2K 117 14:10 41154.sh
    drwxr-xr-x 2 root root 4.0K 1126 15:47 brute_file
    -rwxrw-rw- 1 root root 4.9M 1120 18:47 caidao
    -rw-r--r-- 1 root root 2.0K 125 16:01 Cknife.db
    drwxr-xr-x 2 root root 4.0K 1025 11:35 Cmd_learn
    -rw-r--r-- 1 root root  33K 1120 18:54 Config.ini
    drwxrwxrwx 6 root root 4.0K 1126 13:59 cs
    drwxr-xr-x 2 root root 4.0K 1126 13:38 CS
    drwxr-xr-x 2 root root 4.0K 1126 15:11 Webshell
    

    ls -lt 以最后的修改时间由近到远进行排序,需要与-l使用才能看出效果

    #可以看到12月修改的之后是更久之前的11月10月的了依次排序
    ┌──(root💀kali)-[/home/kali-njh/Learn_dir]
    └─# ls -lt                                                                                                    
    总用量 5040
    -rw-r--r-- 1 root root    2048 125 16:01 Cknife.db
    drwxr-xr-x 2 root root    4096 1126 15:47 brute_file
    drwxr-xr-x 2 root root    4096 1126 15:11 Webshell
    drwxrwxrwx 6 root root    4096 1126 13:59 cs
    drwxr-xr-x 2 root root    4096 1126 13:38 CS
    -rw-r--r-- 1 root root   33182 1120 18:54 Config.ini
    -rwxrw-rw- 1 root root 5090239 1120 18:47 caidao
    -rwxr-xr-x 1 root root    1151 117 14:10 41154.sh
    drwxr-xr-x 3 root root    4096 114 12:00 39772
    drwxr-xr-x 2 root root    4096 1025 11:35 Cmd_learn
    

    ls -X 以文件的拓展名进行排序,由字母的顺序由前到后进行排序

    #对比两次的查看可以发现加了-X之后以后缀字母的顺序进行排序如db和ini,d的字母顺序在i前面所以.db的文件排在了.ini文件前面同理.sh也是一样
    ┌──(root💀kali)-[/home/kali-njh/Learn_dir]
    └─# ls -X                                                                                                     
    39772  brute_file  caidao  Cmd_learn  cs  CS  Webshell  Cknife.db  Config.ini  	41154.sh
    
    ┌──(root💀kali)-[/home/kali-njh/Learn_dir]
    └─# ls
    39772  41154.sh  brute_file  caidao  Cknife.db  Cmd_learn  Config.ini  cs  CS  Webshell
    

    ls -lS 以文件的大小由大到小排序,需要同-l才能显示效果

    #可以看到大小越大的排在了越前面
    ┌──(root💀kali)-[/home/kali-njh/Learn_dir]
    └─# ls -lS                                                                                                    
    总用量 5040
    -rwxrw-rw- 1 root root 5090239 1120 18:47 caidao
    -rw-r--r-- 1 root root   33182 1120 18:54 Config.ini
    drwxr-xr-x 3 root root    4096 114 12:00 39772
    drwxr-xr-x 2 root root    4096 1126 15:47 brute_file
    drwxr-xr-x 2 root root    4096 1025 11:35 Cmd_learn
    drwxrwxrwx 6 root root    4096 1126 13:59 cs
    drwxr-xr-x 2 root root    4096 1126 13:38 CS
    drwxr-xr-x 2 root root    4096 1126 15:11 Webshell
    -rw-r--r-- 1 root root    2048 125 16:01 Cknife.db
    -rwxr-xr-x 1 root root    1151 117 14:10 41154.sh
    

    ls -lSr 对以上的排序进行逆序排序

    #可以看到从小到大进行排序了和只使用-S相反
    ┌──(root💀kali)-[/home/kali-njh/Learn_dir]
    └─# ls -lSr                                                                                                   
    总用量 5040
    -rwxr-xr-x 1 root root    1151 117 14:10 41154.sh
    -rw-r--r-- 1 root root    2048 125 16:01 Cknife.db
    drwxr-xr-x 2 root root    4096 1126 15:11 Webshell
    drwxr-xr-x 2 root root    4096 1126 13:38 CS
    drwxrwxrwx 6 root root    4096 1126 13:59 cs
    drwxr-xr-x 2 root root    4096 1025 11:35 Cmd_learn
    drwxr-xr-x 2 root root    4096 1126 15:47 brute_file
    drwxr-xr-x 3 root root    4096 114 12:00 39772
    -rw-r--r-- 1 root root   33182 1120 18:54 Config.ini
    -rwxrw-rw- 1 root root 5090239 1120 18:47 caidao
    

  1. cat
    参数

    -A, --show-all:等效于 -vET
    -b, --number-nonblank:对非空输出行编号,同时取消 -n 选项效果
    -n, --number:对输出的所有行编号
    -s, --squeeze-blank:不输出多行空行
    -E, --show-ends:在每行结束处显示"$"
    -e:等效于 -vE
    -T, --show-tabs:将跳格字符显示为^I
    -t:与 -vT 等效
    -v, --show-nonprinting:使用^ 和M- 引用,除了LFD和 TAB 之外
    --help:显示此帮助信息并退出
    --version:显示版本信息并退出


    演示
    cat -A 文件名在每一行的末尾加上一个$表示行尾,并且在遇到tab键的时候输出^I,

      ┌──(root💀kali)-[~]
      └─#  cat -A p6.dic
    	Wordy$
    	site$
    	content$
    	wrap$
    	WordPress$
    	branding$
    

    cat -b 文件名 对文件中非空行进行编号对空行不进行编号,使用-n选项的话对空行和非空行都会进行编号

    #可以看到对空行没有进行编号
    ┌──(root💀kali)-[/home/kali-njh/Learn_dir]
    └─# cat -b test.txt                                                                                           
     1  aaaaaaaaa
    
    
     2  bbbbbbbb
     3  ccccccc
    
     4  dddddddd
    
    #使用-n会对所有行都进行编号
     ┌──(root💀kali)-[/home/kali-njh/Learn_dir]
     └─# cat -n test.txt                                                                                           
     1  aaaaaaaaa
     2
     3
     4  bbbbbbbb
     5  ccccccc
     6
     7  dddddddd
    

    cat -s 文件名 将连续的空行合并为一行,可以看到有多个空行的时候只输出一个

    ┌──(root💀kali)-[/home/kali-njh/Learn_dir]
    └─# cat -sn test.txt
    	 1  aaaaaaaaa
     	 2
    	 3          bbbbbbbb
    	 4    ccccccc
    	 5
         6  dd ddd  ddd
    
    ┌──(root💀kali)-[/home/kali-njh/Learn_dir]
    └─# cat -n test.txt                                                                                          
      	1  aaaaaaaaa
      	2
      	3
      	4          bbbbbbbb
      	5    ccccccc
      	6
      	7
      	8  dd ddd  ddd
    

    cat -E 文件名 在每行的结尾处处加上一个$,表示一行结束有的时候可能后面存在空格或tab键无法看到可以使用该参数进行查看,可以明显看到有空格个tab键的话会有一个间隔

    ┌──(root💀kali)-[/home/kali-njh/Learn_dir]
    └─# cat -E test.txt                                                                                          
    	aaaaaaaaa  $
    	$
    	$
        	bbbbbbbb        $
    	ccccccc$
    	$
    	$
    	dd ddd  ddd$
    

    cat -T 文件名 遇到文件中的tab键以^I的形式输出为了与空格键进行区分

    ┌──(root💀kali)-[/home/kali-njh/Learn_dir]
    └─# cat -T test.txt                                                                                           
    	aaaaaaaaa  
    	
    	
    	^Ibbbbbbbb^I
    	ccccccc
    
    
    	dd ddd^Iddd	
    

    cat -v 文件名 输出文件中的不可打印字符以^M或M-的方式处理LFD和TAb以外,在ASCII码中前面几个字符是无法打印的,使用该参数可以输出这些不可打印的字符

    ┌──(root💀kali)-[/home/kali-njh/Learn_dir]
    └─# i=8
    
    #写入ASCII码中十进制为8的字符到文件中,该字符为退格是不可打印的字符
    ┌──(root💀kali)-[/home/kali-njh/Learn_dir]
    └─# echo $i | awk '{printf("%c", $1)}' >>test.txt                                                             
    
    #使用-v输出的时候可以看到加上了^符号将不可打印字符进行了输出
    ┌──(root💀kali)-[/home/kali-njh/Learn_dir]
    └─# cat -v test.txt 
    	aaaaaaaaa  
    
    
        		bbbbbbbb
    	ccccccc
    
    
    	dd ddd  ddd
    	^A
    	^H
    

    cat -t 文件名 等效于-vT参数

    ┌──(root💀kali)-[/home/kali-njh/Learn_dir]
    └─# cat -t test.txt                                                                                           
    	aaaaaaaaa  
    	
    	
    	^Ibbbbbbbb^I
    	ccccccc
    	
    	
    	dd ddd^Iddd
    

  1. more
    该命令是用来进行分页查询的,如果文件太大了一页无法显示完内容的时候,直接使用cat输出的话会影响观看需要不断地拖动,而more命令是一页一页地显示内容,常用操作:
    1. 空格键:查看下一屏;
    2. 回车键:往下滚动一行;
    3. b 键:往前查看一屏;
    4. q 键:退出。
      参数

    -d, --silent:提示操作方式按空格向下查看、按q退出
    -l, --logical:在遇到换页符的时候继续显示下面的内容直到一页无法显示的时候停下等待命令
    -p, --print-over:删除之前的内容显示
    -c, --clean-print:清空之前显示的同-number使用效果更明显
    -s, --squeeze: 将多个空行压缩为一个空行
    -number:指定查看的行数
    +number:从指定的行开始显示
    +/string:在开始显示之前先搜索指定的字符串,如果不存在则输出没有该字符串并继续显示文件内容
    -V, --version:显示版本


    more -d 文件名 查看的时候提示操作方法,按空格继续按q退出,没有使用该参数的时候只显示内容和进度
    #在末尾可以看到操作提示
    ┌──(root💀kali)-[~]
    └─# more -d p6.dic                                                                                             
    contain
    page
    Comments
    world
    leader
    area
    --More--(1%)[Press space to continue, 'q' to quit.]
    

    more -l 文件名 不要在遇到换页符的时候结束,在ASCII码中12表示换页符而more遇到换页符之后会自动结束
    首先查看文件可以看到文件当中存在一个换页符
    在这里插入图片描述
    #可以看到当直接使用more的时候在遇到换页符会不显示下面的内容等待按空格或q
    ┌──(root💀kali)-[~]
    └─# more test.txt                                                                                              
    aaaaaaa
    bbbbbb
    ccccccccc
    ddddddddd
    ^L
    --More--(56%)
    
    #当使用-l的时候会接着显示下面的内容直到一页显示不完才进行分页
    ┌──(root💀kali)-[~]
    └─# more -l test.txt                                                                                           
    aaaaaaa
    bbbbbb
    ccccccccc
    ddddddddd
    
    
    
    eeeeeee
    ffffffff
    gggggggggg
    

    more +10 文件名 从第10行开始显示
    ┌──(root💀kali)-[~]
    └─# more +10 p6.dic 
    Feed
    Welcome
    Menu
    top
    masthead
    post
    main
    --More--(0%)
    
    #可以看到两次显示的起始行不同
    ┌──(root💀kali)-[~]
    └─# more p6.dic                                                                                                
    Wordy
    site
    content
    wrap
    WordPress
    branding
    header
    navigation
    entry
    Feed
    Welcome
    and
    secure
    --More--(0%)
    

    more -10 文件名 每次滚动只滚动10行,当使用-c或-p参数的时候只显示10行覆盖之前10行的内容,-c和-p选项会进行清屏显示
    ┌──(root💀kali)-[~]                                                                                            
    └─# more -10 p6.dic                                                                                            
    Wordy                                                                                                          
    site                                                                                                           
    content                                                                                                        
    wrap                                                                                                           
    WordPress                                                                                                      
    branding                                                                                                       
    header                                                                                                         
    navigation                                                                                                     
    entry                                                                                                          
    Feed                                                                                                           
    --More--(0%)    
    

    more +/字符串 文件名 显示内容之前先去检查是否存在字符串
    #如果字符串不存在会输出没有发现然后继续输出文件内容
    ┌──(root💀kali)-[~]
    └─# more -10 +/site123123 p6.dic 
    Pattern not foundWordy
    site
    content
    wrap
    WordPress
    branding
    header
    navigation
    entry
    Feed
    

  1. head
    该命令用来查看文件的前几行内容,默认输出前10行的内容
    参数

    -c, --bytes=[-]NUM:显示指定的字节数
    -n, --lines=[-]NUM:显示指定的行数
    -q, --quiet, --silent:静默模式
    -v, --verbose:始终打印文件名标题
    --help display this help and exit显示帮助
    --version:输出版本


    head -c 10 文件名 显示前10个字节的内容
    #显示前10个字节的内容这里在aaaa之后有一个换行符所有只有9个字母
    ┌──(root💀kali)-[~]
    └─# head -c 10 test.txt                                                                                        
    aaaaaaa
    bb
    

    head -10 文件名 显示前10行的内容
    ┌──(root💀kali)-[~]
    └─# head -10 p6.dic                                                                                            
    Wordy
    site
    content
    wrap
    WordPress
    branding
    header
    navigation
    entry
    Feed
    

    head -v 文件名 会在输出内容之前显示文件的名称
    ┌──(root💀kali)-[~]
    └─# head -v test.txt                                                                                           
    ==> test.txt <==
    aaaaaaa
    bbbbbb
    ccccccccc
    ddddddddd
    

  1. tial
    查看文件后几行内容

  1. wc

  1. du

网络管理类

  1. ip addr

  1. ip route

  1. route

  1. ifconfig

Vim编辑使用

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值