linux shell 目录基本操作

linux shell 目录基本操作

  1. pwd:显示当前工作目录

    [root@local ~]# pwd
     /root
    
  2. ls: 显示文件和目录内容
    ls -[选项] [目录名]
    参数:

    • a:显示所有隐藏文件
    • l:长格式
    • i:显示每个文件的索引节点信息

    ls -l 显示的信息:
    [文件/目录许可] [硬链接数] [所有者] [组] [文件大小] [修改时间] [文件名]

    [root@local ~]# ls -l
    total 36
    drwxr-xr-x  7 root root  4096 Mar 20 10:14 code
    drwxr-xr-x  8 root root  4096 Dec  1 19:16 hexo
    drwxr-xr-x 80 root root  4096 Dec  1 18:54 node_modules
    -rw-r--r--  1 root root 22699 Dec  1 18:54 package-lock.json
    
  3. cd: 切换当前位置
    cd [目录路径名(绝对、相对)]
    cd - : 回到刚才访问的工作目录
    cd / : 切换到根目录
    cd ~ : 切换到用户的个人主目录

    [root@local /]# cd usr/bin
     [root@local bin]# pwd
     /usr/bin
     [root@local bin]# cd /
     [root@local /]# pwd
     /
     [root@local /]# cd ~
     [root@local ~]# pwd
     /root
     [root@local ~]# cd -
     /
     [root@local /]# pwd
     /
    
  4. less: 查看文本文件
    less [文件名]
    在屏幕上显示文件,通过vim实现,使用q退出,返回shell刚执行过命令的下一行

  5. more: 查看文本文件
    more [文件名]
    在屏幕上显示文件,若超出一屏,则使用vim,使用q退出,无法返回原来使用shell的位置

  6. cat: 查看文本文件
    cat [文件名]
    使用标准输出将文件输出在屏幕上

  7. file: 查看文件类型
    file [文件名]

    [root@local ~]# file package-lock.json
     package-lock.json: ASCII text
    
  8. tree: 查看文件系统目录结构
    tree [-aACdDfFgilnNpqstux] [-I <范本样式>] [-P <范本样式>] [目录...]
    参数:

    • -L:显示目录级别
    • -a:显示目录所有内容
    • -d:只显示目录
    • -f:只显示文件
    • 1:只显示一层目录
    [root@local ~]# tree -L 1 /
        /
        ├── bin -> usr/bin
        ├── boot
        ├── dev
        ├── etc
        ├── home
        ├── lib -> usr/lib
        ├── lib64 -> usr/lib64
        ├── lost+found
        ├── media
        ├── mnt
        ├── mysql57-community-release-el7-10.noarch.rpm
        ├── opt
        ├── proc
        ├── root
        ├── run
        ├── sbin -> usr/sbin
        ├── srv
        ├── sys
        ├── tmp
        ├── usr
        └── var
    
        20 directories, 1 file
    

文件和目录基本操作

  1. cp: 复制文件和目录
    cp [file1] [file2]
    将文件复制到目录
    cp [file1] [file2] [file3] directory
    将file1复制为file2
    参数:
    • -i 询问是否覆盖已存在的file2文件
    • -r 若目标文件夹不存在不会报错,该选项会创建文件夹并复制目录下的所有文件
  2. mv: 移动、重命名文件和目录
    mv [filename1] [filename2]
    将文件移动到目录
    mv [file1] [file2] [file3] directory
    移动目录内的所有文件
    mv directory1 directory2
    参数:
    • -f 即使目标文件存在也直接覆盖
  3. rm: 删除文件和目录
    rm [filename]
    递归删除目录
    rm -r directory
    参数:
    • -r: 直接删除文件,如果是目录的话一次性删除所有的下一级路径和文件
    • -f: 不显示询问而直接强制删除
  4. mkdir: 创建目录
    mkdir directory
  5. rmdir: 删除目录
    rmdir directory
    不常用,删除目录通常用rm -rf firectory

文件访问权限

  1. chmod: 修改文件、目录的访问权限
    文件权限
    -rwx r-x r-x
    -:文件类型 d:目录,-:文件
    rwx:用户权限 读r、写w、执行x
    r-x:组权限 读、执行
    r-x:所有人权限 读、执行
    用二进制表示:
    777: 111 111 111 rwx rwx rwx
    666: 110 110 110 rw- rw- rw-
    700: 111 000 000 rwx --- ---
    755: 111 101 101 rwx r-x r-x
    参数:
  2. su: 临时转为超级用户和其他用户的命令
    su root
  3. chown: 修改文件、目录所有者的命令,只有超级用户才能使用
    chown [所有者] [.或:] [组] [文件名/目录名]
  4. chgrp: 修改文件、目录的组所有者的命令
    chgrp [组名] [文件名和目录名]
  5. lsattr 显示文件属性
  6. chattr 修改文件属性
    i属性 immutable
    a属性 append only
    chattr +i/chattr -i 在文件属性中添加/删除i属性,即使超级用户也不能修改和删除文件
    chattr +a/chattr -a 在文件属性中添加/删除a属性,可以添加文件内容但即使超级用户也不能删除文件
    使用 rm -rf不能删除文件时,使用lsattr查看属性,再用chattr删除i属性再执行

作业控制

  1. jobs: 显示当前后台运行的shell进程
  2. ps: 显示进程id
    ps: 显示进程id(PID)
    ps aux -forest: 显示进程目录的树形结构(包括进程id)
    pstree: 仅显示进程的树形结构
  3. kill: 关闭进程
    kill [PID]

系统管理员指令

  1. users: 显示当前登录的用户
    等于 who -q
  2. groups: 显示访问dangqianshell用户所属组的信息,输出值为GROUPS环境变量值
  3. useradd: 添加用户
    useradd [用户名]
    passwd [密码] 指定密码
  4. userdel: 删除用户
    userdel [用户名]
    userdel -r [用户名] 该用户留有文件不能删除,使用-r可以删除用户主目录并删除用户
  5. usermod: 修改用户的各种信息
  6. groupmod: 修改组名或组ID
  7. id: 显示用户ID,组ID,所属组名。
    显示Bash Shell的UID、EUID、GROUPS环境变量值
  8. lid: 显示用户所属组
    lid = list id
  9. who: 显示当前登录的用户目录
    who -m: 显示登陆当前shell的用户访问信息
    whoami: 显示当前使用shell的用户ID
  10. w: 显示所有登陆当前系统的用户信息
  11. logname: 显示当前用户的登录名
  12. su: 临时切换用户
    su: 无参数默认切换为root
    su [用户名]
  13. sudo: 以超级用户或其他用户的身份执行命令
    sudo -u [用户名] [指令] 将root用户转为普通用户执行
  14. passwd: 用于创建、修改用户密码
  15. ac: 从/var/log/wtmp文件中查询用户的登陆时间,以小时显示
  16. last: 从/var/log/wtmp文件中查询所有用户的最后登录时间
  17. newgrp: 修改/添加自己所属群组,退出当前shell则返回初始化状态
  18. tty: 显示当前用户的终端
  19. stty: 显示或修改终端设置
  20. setterm: 修改终端的配置值
  21. test: 初始化终端设置及显示终端类型
  22. setserial: 设置和显示序列端口参数
  23. getty agetty: 初始化终端的进程
  24. mesg: 组织其他用户访问自己的终端
    mesg y: 允许写入自己的终端(默认)
    mesg n: 不允许写入自己的终端
  25. wall: 向所有在线用户发送消息
  26. write: 指定用户发送消息

信息与统计

  1. uname: 显示系统内核信息
  2. arch: 显示系统结构
    =uname -m
  3. lastlog: 浏览/var/log/lstlog文件,并显示所有用户的最后登录时间
  4. lsof: 显示已经打开的文件目录
    参数:
    • -i 显示已打开的网络套接字文件
  5. strace: 跟踪命令执行时的系统调用和信号
    strace [命令]
  6. ltrace: 跟踪命令执行时的库调用
  7. nc: 显示TCP/UDP端口连接与监听
    nc localhost [端口号]
    nc localhost [端口号1-端口号2] 在端口号1-端口号2中检索
  8. free: 以字节为单位显示内存和缓存用量
  9. procinfo: 显示/proc文件系统相关信息
  10. lsdev: 显示已经安装的设备目录
  11. du: 显示磁盘文件使用情况
    du -h: 以kb为单位显示
  12. df: 显示文件系统的分区使用量
    df -h: 以M,G为单位显示
  13. dmesg: 显示开机时控制台现实的信息
  14. stat: 显示给出的文件的各种信息
    stat [文件名]
  15. vmstat: 显示虚拟内存的统计结果
  16. netstat: 显示当前网络统计和信息
    netstat -lptu: 显示当前打开的端口目录
  17. uptime: 显示当前运行的时间
  18. hostname: 显示系统托管名
  19. hostid: 将托管机器显示为32位16进制数的识别符
  20. readelf: 显示elf二进制文件的信息
  21. size: 显示二进制执行文件或存档文件的段大小
posted @ 2021-10-15 13:33  流光之中  阅读(402)  评论(0)    收藏  举报