• Linux常用命令(个人笔记)[更新ing]


    常用命令

    1. top 查看整机性能状态

    cpu 处理器
    mem 内存
    id(idle) 空闲率
    load average 负载

    1. free -m 查看内存以兆m为单位

    2. df -h 以人类-h的方式查看硬盘

    3. vmstat -n 2 3 每个2秒打印3行cpu和其他信息

    4. iostat -xdk 2 3

    每2秒打印磁盘读写等信息

    一、基础

    1-1 目录相关命令

    • 进入目录。/home/你的用户名

      cd 
      

      或者

      cd ~
      
    • 返回上级目录

      cd ..
      

      返回多级目录

      cd ../../
      
    • 返回切换前的目录。

      比如你从/usr/share/applications/跳转到了~,那么你可以,从现在的目录回到之前的目录。

      cd -
      
    • 进入系统根目录

      cd /
      
    • 查看当前工作目录

      pwd
      

    1-2 IP相关命令

    • 查看IP

      ifconfig
      
    • 开放端口

      1. 配置

        方式一:修改/etc/sysconfig/iptables配置文件

        sudo vim /etc/sysconfig/iptables
        

        添加开放的端口配置

        -A INPUT -P tcp -m tcp --dport 8080 -j ACCEPT
        

        方式二:使用命令

        iptables -I INPUT -p tcp --dport 8080 -j ACCEPT
        
      2. 重启iptables服务

        sudo /etc/init.d/iptables restart
        

    二、用户

    2-1 切换用户

    • 切换到root
    su
    
    • 切换到普通用户
    su langkye
    

    2-2 添加用户

    Ubuntu 还可以用adduser,e.g. sudo adduser langkye:创建 langkye 用户,然后根据提示填写信息,可以为空。
    用法:

    用法:useradd [选项] 登录
          useradd -D
          useradd -D [选项]
    选项:
      -b, --base-dir BASE_DIR       新账户的主目录的基目录
      -c, --comment COMMENT         新账户的 GECOS 字段
      -d, --home-dir HOME_DIR       新账户的主目录
      -D, --defaults                显示或更改默认的 useradd 配置
      -e, --expiredate EXPIRE_DATE  新账户的过期日期
      -f, --inactive INACTIVE       新账户的密码不活动期
      -g, --gid GROUP               新账户主组的名称或 ID
      -G, --groups GROUPS           新账户的附加组列表
      -h, --help                    显示此帮助信息并推出
      -k, --skel SKEL_DIR           使用此目录作为骨架目录
      -K, --key KEY=VALUE           不使用 /etc/login.defs 中的默认值
      -l, --no-log-init             不要将此用户添加到最近登录和登录失败数据库
      -m, --create-home             创建用户的主目录
      -M, --no-create-home          不创建用户的主目录
      -N, --no-user-group           不创建同名的组
      -o, --non-unique              允许使用重复的 UID 创建用户
      -p, --password PASSWORD       加密后的新账户密码
      -r, --system                  创建一个系统账户
      -R, --root CHROOT_DIR         chroot 到的目录
      -s, --shell SHELL             新账户的登录 shell
      -u, --uid UID                 新账户的用户 ID
      -U, --user-group              创建与用户同名的组
      -Z, --selinux-user SEUSER     为 SELinux 用户映射使用指定 SEUSER
    
    • 添加用户
    useradd langkye
    
    • 添加用户。创建主目录,指定主目录为/home/langkye;指定属组为root
    useradd -m -D /home/langkye -g root
    

    2-3 删除用户

    用法:

    用法:userdel [选项] 登录
    
    选项:
      -f, --force                   即使不属于此用户,也强制删除文件
      -h, --help                    显示此帮助信息并推出
      -r, --remove                  删除主目录和邮件池
      -R, --root CHROOT_DIR         chroot 到的目录
      -Z, --selinux-user            为用户删除所有的 SELinux 用户映射
    
    • 删除用户langkye,同时删除用户主目录及邮件池
    userdel -r langkye
    

    三、用户组

    3-2 添加用户组

    用法:

    法:groupadd [选项] 组
    
    选项:
      -f, --force                  如果组已经存在则成功退出
                                   并且如果 GID 已经存在则取消 -g
      -g, --gid GID                 为新组使用 GID
      -h, --help                    显示此帮助信息并推出
      -K, --key KEY=VALUE           不使用 /etc/login.defs 中的默认值
      -o, --non-unique              允许创建有重复 GID 的组
      -p, --password PASSWORD       为新组使用此加密过的密码
      -r, --system                  创建一个系统账户
      -R, --root CHROOT_DIR         chroot 到的目录
    

    3-2 删除用户组

    用法:

    用法:groupdel [选项] 组
    
    选项:
      -h, --help                    显示此帮助信息并推出
      -R, --root CHROOT_DIR         chroot 到的目录
      -f, --force                   delete group even if it is the primary group of a user
    

    四、解压&压缩

    4-1tar

    GNU 'tar' 将许多文件一起保存到单个磁带或磁盘档案中,并且可以从档案中恢复单个文件。

    用法: tar [选项...] [FILE]...

    栗子:

    tar -cf archive.tar foo bar  # 从文件foo和bar创建archive.tar。
    tar -tvf archive.tar         # 详细列出archive.tar中的所有文件。
    tar -xf archive.tar          # 从archive.tar中提取所有文件。
    
    • [选项...]
    用法: tar [选项...] [FILE]...
    
     本地文件名选择:
    
          --add-file=FILE        添加指定的 FILE 至归档(如果名字以 -
                                 开始会很有用的)
      -C, --directory=DIR        改变至目录 DIR
          --exclude=PATTERN      排除以 PATTERN 指定的文件
          --exclude-backups      排除备份和锁文件
          --exclude-caches       除标识文件本身外,排除包含
                                 CACHEDIR.TAG 的目录中的内容
          --exclude-caches-all   排除包含 CACHEDIR.TAG 的目录
          --exclude-caches-under 排除包含 CACHEDIR.TAG
                                 的目录中所有内容
          --exclude-ignore=FILE  若存在FILE,
                                 则从其中读取每个目录的例外匹配项
          --exclude-ignore-recursive=FILE
                                 若存在FILE,
                                 则从其中为每个目录及其子目录读取需要排除的例外匹配项
          --exclude-tag=FILE     除 FILE 自身外,排除包含 FILE
                                 的目录中的内容
          --exclude-tag-all=FILE 排除包含 FILE 的目录
          --exclude-tag-under=FILE   排除包含 FILE 的目录中的所有内容
          --exclude-vcs          排除版本控制系统目录
          --exclude-vcs-ignores  从VCS 忽略文件中读取排除匹配项
          --no-null              禁用上一次的效果 --null 选项
          --no-recursion         避免目录中的自动降级
          --no-unquote           不要unquote 输入文件或成员名称
          --no-verbatim-files-from   -T
                                 把以‘-’开始的文件作为选项(默认)
          --null                 -T 读取以空终止的名字; 隐含
                                 --verbatim-files-from
          --recursion            目录递归(默认)
      -T, --files-from=FILE      从 FILE
                                 中获取文件名来解压或创建文件
          --unquote              unquote 输入文件或成员名称(默认)
          --verbatim-files-from  -T reads file names verbatim (no escape or option
                                 handling)
      -X, --exclude-from=FILE    排除 FILE 中列出的模式串
    
     文件名匹配选项(同时影响排除和包括模式串):
    
          --anchored             模式串匹配文件名头部
          --ignore-case          忽略大小写
          --no-anchored          模式串匹配任意‘/’后字符(默认对
                                 exclusion 有效)
          --no-ignore-case       匹配大小写(默认)
          --no-wildcards         逐字匹配字符串
          --no-wildcards-match-slash   通配符不匹配‘/’
          --wildcards            使用通配符(默认对 exclusion )
          --wildcards-match-slash   通配符匹配‘/’(默认对exclusion
                                 有效)
    
     主操作模式:
    
      -A, --catenate, --concatenate   追加 tar 文件至归档
      -c, --create               创建一个新归档
      -d, --diff, --compare      找出归档和文件系统的差异
          --delete               从归档(非磁带!)中删除
      -r, --append               追加文件至归档结尾
      -t, --list                 列出归档内容
          --test-label           测试归档卷标并退出
      -u, --update               仅追加比归档中副本更新的文件
      -x, --extract, --get       从归档中解出文件
    
     操作修饰符:
    
          --check-device         当创建增量归档时检查设备号(默认)
      -g, --listed-incremental=FILE   处理新式的 GNU 格式的增量备份
      -G, --incremental          处理老式的 GNU 格式的增量备份
          --hole-detection=TYPE  用于探测holes 的技术
          --ignore-failed-read
                                 当遇上不可读文件时不要以非零值退出
          --level=NUMBER         所创建的增量列表归档的输出级别
      -n, --seek                 归档可检索
          --no-check-device      当创建增量归档时不要检查设备号
          --no-seek              归档不可检索
          --occurrence[=NUMBER]  仅处理归档中每个文件的第 NUMBER
                                 个事件;仅当与以下子命令 --delete,
                                 --diff, --extract 或是 --list
                                 中的一个联合使用时,此选项才有效。而且不管文件列表是以命令行形式给出或是通过
                                 -T 选项指定的;NUMBER 值默认为 1
          --sparse-version=MAJOR[.MINOR]
                                 设置所用的离散格式版本(隐含
                                 --sparse)
      -S, --sparse               高效处理离散文件
    
     重写控制:
    
      -k, --keep-old-files       解压时不替换存在的文件,
                                 而将其认为是错误
          --keep-directory-symlink   解压时保留已存在的目录符号链接
          --keep-newer-files
                                 不要替换比归档中副本更新的已存在的文件
          --no-overwrite-dir     保留已存在目录的元数据
          --one-top-level[=DIR]  创建子目录以避免解压松散文件
          --overwrite            解压时重写存在的文件
          --overwrite-dir
                                 解压时重写已存在目录的元数据(默认)
          --recursive-unlink     解压目录之前先清除目录层次
          --remove-files         在添加文件至归档后删除它们
          --skip-old-files
                                 解压时不替换存在的文件,而是自动忽略
      -U, --unlink-first         在解压要重写的文件之前先删除它们
      -W, --verify               在写入以后尝试校验归档
    
     选择输出流:
    
          --ignore-command-error 忽略子进程的退出代码
          --no-ignore-command-error
                                 将子进程的非零退出代码认为发生错误
      -O, --to-stdout            解压文件至标准输出
          --to-command=COMMAND
                                 将解压的文件通过管道传送至另一个程序
    
     操作文件属性:
    
          --atime-preserve[=METHOD]
                                 在输出的文件上保留访问时间,要么通过在读取(默认
                                 METHOD=‘replace’)后还原时间,要不就不要在第一次(METHOD=‘system’)设置时间
          --clamp-mtime          当文件比 --mtime
                                 指定的文件更新时仅更新时间
          --delay-directory-restore
                                 直到解压结束才设置修改时间和所解目录的权限
          --group=名称         强制将 NAME
                                 作为所添加的文件的组所有者
          --group-map=FILE       用FILE 映射文件所有者GIDs 和名字
          --mode=CHANGES         强制将所添加的文件(符号)更改为权限
                                 CHANGES
          --mtime=DATE-OR-FILE   从 DATE-OR-FILE 中为添加的文件设置 mtime
                                
      -m, --touch                不要解压文件的修改时间
          --no-delay-directory-restore
                                 取消 --delay-directory-restore 选项的效果
          --no-same-owner
                                 将文件解压为您所有(普通用户默认此项)
          --no-same-permissions
                                 从归档中解压权限时使用用户的掩码位(默认为普通用户服务)
          --numeric-owner        总是以数字代表用户/组的名称
          --owner=名称         强制将 NAME
                                 作为所添加的文件的所有者
          --owner-map=FILE       用FILE 映射文件所有者UIDs 和名字
      -p, --preserve-permissions, --same-permissions
                                 解压文件权限信息(默认只为超级用户服务)
          --same-owner
                                 尝试解压时保持所有者关系一致(超级用户默认此项)
      -s, --preserve-order, --same-order
                                 成员参数按归档中的文件顺序列出
          --sort=ORDER           目录排序顺序: none(默认), name 或inode
    
     操作extended 文件属性:
    
          --acls                 开启POSIX ACLs 支持
          --no-acls              关闭POSIX ACLs 支持
          --no-selinux           关闭SELinux 上下文支持
          --no-xattrs            关闭extended 属性支持
          --selinux              开启SELinux 上下文支持
          --xattrs               开启extended 属性支持
          --xattrs-exclude=MASK  为xattr 关键字指定排除匹配项
          --xattrs-include=MASK  为xattr 关键字指定包含匹配项
    
     设备选择和切换:
    
      -f, --file=ARCHIVE         使用归档文件或 ARCHIVE 设备
          --force-local
                                 即使归档文件存在副本还是把它认为是本地归档
      -F, --info-script=名称, --new-volume-script=名称
                                 在每卷磁带最后运行脚本(隐含 -M)
      -L, --tape-length=NUMBER   写入 NUMBER × 1024 字节后更换磁带
      -M, --multi-volume         创建/列出/解压多卷归档文件
          --rmt-command=COMMAND  使用指定的 rmt COMMAND 代替 rmt
          --rsh-command=COMMAND  使用远程 COMMAND 代替 rsh
          --volno-file=FILE      使用/更新 FILE 中的卷数
    
     设备分块:
    
      -b, --blocking-factor=BLOCKS   每个记录 BLOCKS x 512 字节
      -B, --read-full-records    读取时重新分块(只对 4.2BSD 管道有效)
      -i, --ignore-zeros         忽略归档中的零字节块(即文件结尾)
          --record-size=NUMBER   每个记录的字节数 NUMBER,乘以 512
    
     选择归档格式:
    
      -H, --format=FORMAT        创建指定格式的归档
    
     FORMAT 是以下格式中的一种:
    
        gnu                      GNU tar 1.13.x 格式
        oldgnu                   GNU 格式 as per tar <= 1.12
        pax                      POSIX 1003.1-2001 (pax) 格式
        posix                    等同于 pax
        ustar                    POSIX 1003.1-1988 (ustar) 格式
        v7                       old V7 tar 格式
    
          --old-archive, --portability
                                 等同于 --format=v7
          --pax-option=关键字[[:]=值][,关键字[[:]=值]]...
                                 控制 pax 关键字
          --posix                等同于 --format=posix
      -V, --label=TEXT           创建带有卷名 TEXT
                                 的归档;在列出/解压时,使用 TEXT
                                 作为卷名的模式串
    
     
    

    4-1-1 解压

    • 将文件解压到指定目录,如:
      sudo tar -zxvf apache-zookeeper-3.6.2-bin.tar.gz -C /usr/local/apach/
      

    4-1-2 压缩(归档)

    压缩选项:
    
      -a, --auto-compress        使用归档后缀名来决定压缩程序
      -I, --use-compress-program=PROG
                                 通过 PROG 过滤(必须是能接受 -d
                                 选项的程序)
      -j, --bzip2                通过 bzip2 过滤归档
      -J, --xz                   通过 xz 过滤归档
          --lzip                 通过 lzip 过滤归档
          --lzma                 通过 xz 过滤归档
          --lzop                 通过 lzop 过滤归档
          --no-auto-compress     不使用归档后缀名来决定压缩程序
      -z, --gzip, --gunzip, --ungzip   通过 gzip 过滤归档
          --zstd                 通过 zstd 过滤归档
      -Z, --compress, --uncompress   通过 compress 过滤归档
    
     本地文件选择:
    
          --backup[=CONTROL]     在删除前备份,选择 CONTROL 版本
      -h, --dereference
                                 跟踪符号链接;将它们所指向的文件归档并输出
          --hard-dereference
                                 跟踪硬链接;将它们所指向的文件归档并输出
      -K, --starting-file=MEMBER-NAME
                                 从归档中的 MEMBER-NAME
                                 成员处开始读取归档
          --newer-mtime=DATE     当只有数据改变时比较数据和时间
      -N, --newer=DATE-OR-FILE, --after-date=DATE-OR-FILE
                                 只保存比 DATE-OR-FILE 更新的文件
          --one-file-system      创建归档时保存在本地文件系统中
      -P, --absolute-names       不要从文件名中清除引导符‘/’
          --suffix=STRING        在删除前备份,除非被环境变量
                                 SIMPLE_BACKUP_SUFFIX
                                 覆盖,否则覆盖常用后缀(‘’)
    
     文件名变换:
    
          --strip-components=NUMBER   解压时从文件名中清除 NUMBER
                                 个引导部分
          --transform=EXPRESSION, --xform=EXPRESSION
                                 使用 sed 代替 EXPRESSION
                                 来进行文件名变换
    
     提示性输出:
    
          --checkpoint[=NUMBER]  每隔 NUMBER
                                 个记录显示进度信息(默认为 10 个)
          --checkpoint-action=ACTION   在每个检查点上执行 ACTION
          --full-time            按文件原本时间格式打印
          --index-file=FILE      将详细输出发送至 FILE
      -l, --check-links
                                 只要不是所有链接都被输出就打印信息
          --no-quote-chars=STRING   禁用来自 STRING 的字符引用
          --quote-chars=STRING   来自 STRING 的额外的引用字符
          --quoting-style=STYLE  设置名称引用风格;有效的 STYLE
                                 值请参阅以下说明
      -R, --block-number         每个信息都显示归档内的块数
          --show-defaults        显示 tar 默认选项
          --show-omitted-dirs
                                 列表或解压时,列出每个不匹配查找标准的目录
          --show-snapshot-field-ranges
                                 显示快照文件区的有效范围
          --show-transformed-names, --show-stored-names
                                 显示变换后的文件名或归档名
          --totals[=SIGNAL]      处理归档后打印出总字节数;当此
                                 SIGNAL 被触发时带参数 -
                                 打印总字节数;允许的信号为:
                                 SIGHUP,SIGQUIT,SIGINT,SIGUSR1 和
                                 SIGUSR2;同时也接受不带 SIG
                                 前缀的信号名称
          --utc                  以 UTC 格式打印文件修改时间
      -v, --verbose              详细地列出处理的文件
          --warning=KEYWORD      警告控制:
      -w, --interactive, --confirmation
                                 每次操作都要求确认
    
     兼容性选项:
    
      -o                         创建归档时,相当于
                                 --old-archive;展开归档时,相当于
                                 --no-same-owner
    
     其它选项:
    
      -?, --help                 显示此帮助列表
          --restrict             禁用某些潜在的有危险的选项
          --usage                显示简短的用法说明
          --version              打印程序版本
    
    长选项和相应短选项具有相同的强制参数或可选参数。
    
    The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.
    The version control may be set with --backup or VERSION_CONTROL, values are:
    
      none, off       never make backups
      t, numbered     make numbered backups
      nil, existing   numbered if numbered backups exist, simple otherwise
      never, simple   always make simple backups
    
    --quoting-style 选项的有效参数为:
    
      literal
      shell
      shell-always
      shell-escape
      shell-escape-always
      c
      c-maybe
      escape
      locale
      clocale
    
    此 tar 默认为:
    --format=gnu -f- -b20 --quoting-style=escape --rmt-command=/usr/sbin/rmt
    --rsh-command=/usr/bin/rsh
    

    4-1-3 选项

    可用选项: tar --help

    tar --help
    用法: tar [选项...] [FILE]...
    GNU 'tar' saves many files together into a single tape or disk archive, and can
    restore individual files from the archive.
    
    Examples:
      tar -cf archive.tar foo bar  # Create archive.tar from files foo and bar.
      tar -tvf archive.tar         # List all files in archive.tar verbosely.
      tar -xf archive.tar          # Extract all files from archive.tar.
    
     本地文件名选择:
    
          --add-file=FILE        添加指定的 FILE 至归档(如果名字以 -
                                 开始会很有用的)
      -C, --directory=DIR        改变至目录 DIR
          --exclude=PATTERN      排除以 PATTERN 指定的文件
          --exclude-backups      排除备份和锁文件
          --exclude-caches       除标识文件本身外,排除包含
                                 CACHEDIR.TAG 的目录中的内容
          --exclude-caches-all   排除包含 CACHEDIR.TAG 的目录
          --exclude-caches-under 排除包含 CACHEDIR.TAG
                                 的目录中所有内容
          --exclude-ignore=FILE  若存在FILE,
                                 则从其中读取每个目录的例外匹配项
          --exclude-ignore-recursive=FILE
                                 若存在FILE,
                                 则从其中为每个目录及其子目录读取需要排除的例外匹配项
          --exclude-tag=FILE     除 FILE 自身外,排除包含 FILE
                                 的目录中的内容
          --exclude-tag-all=FILE 排除包含 FILE 的目录
          --exclude-tag-under=FILE   排除包含 FILE 的目录中的所有内容
          --exclude-vcs          排除版本控制系统目录
          --exclude-vcs-ignores  从VCS 忽略文件中读取排除匹配项
          --no-null              禁用上一次的效果 --null 选项
          --no-recursion         避免目录中的自动降级
          --no-unquote           不要unquote 输入文件或成员名称
          --no-verbatim-files-from   -T
                                 把以‘-’开始的文件作为选项(默认)
          --null                 -T 读取以空终止的名字; 隐含
                                 --verbatim-files-from
          --recursion            目录递归(默认)
      -T, --files-from=FILE      从 FILE
                                 中获取文件名来解压或创建文件
          --unquote              unquote 输入文件或成员名称(默认)
          --verbatim-files-from  -T reads file names verbatim (no escape or option
                                 handling)
      -X, --exclude-from=FILE    排除 FILE 中列出的模式串
    
     文件名匹配选项(同时影响排除和包括模式串):
    
          --anchored             模式串匹配文件名头部
          --ignore-case          忽略大小写
          --no-anchored          模式串匹配任意‘/’后字符(默认对
                                 exclusion 有效)
          --no-ignore-case       匹配大小写(默认)
          --no-wildcards         逐字匹配字符串
          --no-wildcards-match-slash   通配符不匹配‘/’
          --wildcards            使用通配符(默认对 exclusion )
          --wildcards-match-slash   通配符匹配‘/’(默认对exclusion
                                 有效)
    
     主操作模式:
    
      -A, --catenate, --concatenate   追加 tar 文件至归档
      -c, --create               创建一个新归档
      -d, --diff, --compare      找出归档和文件系统的差异
          --delete               从归档(非磁带!)中删除
      -r, --append               追加文件至归档结尾
      -t, --list                 列出归档内容
          --test-label           测试归档卷标并退出
      -u, --update               仅追加比归档中副本更新的文件
      -x, --extract, --get       从归档中解出文件
    
     操作修饰符:
    
          --check-device         当创建增量归档时检查设备号(默认)
      -g, --listed-incremental=FILE   处理新式的 GNU 格式的增量备份
      -G, --incremental          处理老式的 GNU 格式的增量备份
          --hole-detection=TYPE  用于探测holes 的技术
          --ignore-failed-read
                                 当遇上不可读文件时不要以非零值退出
          --level=NUMBER         所创建的增量列表归档的输出级别
      -n, --seek                 归档可检索
          --no-check-device      当创建增量归档时不要检查设备号
          --no-seek              归档不可检索
          --occurrence[=NUMBER]  仅处理归档中每个文件的第 NUMBER
                                 个事件;仅当与以下子命令 --delete,
                                 --diff, --extract 或是 --list
                                 中的一个联合使用时,此选项才有效。而且不管文件列表是以命令行形式给出或是通过
                                 -T 选项指定的;NUMBER 值默认为 1
          --sparse-version=MAJOR[.MINOR]
                                 设置所用的离散格式版本(隐含
                                 --sparse)
      -S, --sparse               高效处理离散文件
    
     重写控制:
    
      -k, --keep-old-files       解压时不替换存在的文件,
                                 而将其认为是错误
          --keep-directory-symlink   解压时保留已存在的目录符号链接
          --keep-newer-files
                                 不要替换比归档中副本更新的已存在的文件
          --no-overwrite-dir     保留已存在目录的元数据
          --one-top-level[=DIR]  创建子目录以避免解压松散文件
          --overwrite            解压时重写存在的文件
          --overwrite-dir
                                 解压时重写已存在目录的元数据(默认)
          --recursive-unlink     解压目录之前先清除目录层次
          --remove-files         在添加文件至归档后删除它们
          --skip-old-files
                                 解压时不替换存在的文件,而是自动忽略
      -U, --unlink-first         在解压要重写的文件之前先删除它们
      -W, --verify               在写入以后尝试校验归档
    
     选择输出流:
    
          --ignore-command-error 忽略子进程的退出代码
          --no-ignore-command-error
                                 将子进程的非零退出代码认为发生错误
      -O, --to-stdout            解压文件至标准输出
          --to-command=COMMAND
                                 将解压的文件通过管道传送至另一个程序
    
     操作文件属性:
    
          --atime-preserve[=METHOD]
                                 在输出的文件上保留访问时间,要么通过在读取(默认
                                 METHOD=‘replace’)后还原时间,要不就不要在第一次(METHOD=‘system’)设置时间
          --clamp-mtime          当文件比 --mtime
                                 指定的文件更新时仅更新时间
          --delay-directory-restore
                                 直到解压结束才设置修改时间和所解目录的权限
          --group=名称         强制将 NAME
                                 作为所添加的文件的组所有者
          --group-map=FILE       用FILE 映射文件所有者GIDs 和名字
          --mode=CHANGES         强制将所添加的文件(符号)更改为权限
                                 CHANGES
          --mtime=DATE-OR-FILE   从 DATE-OR-FILE 中为添加的文件设置 mtime
                                
      -m, --touch                不要解压文件的修改时间
          --no-delay-directory-restore
                                 取消 --delay-directory-restore 选项的效果
          --no-same-owner
                                 将文件解压为您所有(普通用户默认此项)
          --no-same-permissions
                                 从归档中解压权限时使用用户的掩码位(默认为普通用户服务)
          --numeric-owner        总是以数字代表用户/组的名称
          --owner=名称         强制将 NAME
                                 作为所添加的文件的所有者
          --owner-map=FILE       用FILE 映射文件所有者UIDs 和名字
      -p, --preserve-permissions, --same-permissions
                                 解压文件权限信息(默认只为超级用户服务)
          --same-owner
                                 尝试解压时保持所有者关系一致(超级用户默认此项)
      -s, --preserve-order, --same-order
                                 成员参数按归档中的文件顺序列出
          --sort=ORDER           目录排序顺序: none(默认), name 或inode
    
     操作extended 文件属性:
    
          --acls                 开启POSIX ACLs 支持
          --no-acls              关闭POSIX ACLs 支持
          --no-selinux           关闭SELinux 上下文支持
          --no-xattrs            关闭extended 属性支持
          --selinux              开启SELinux 上下文支持
          --xattrs               开启extended 属性支持
          --xattrs-exclude=MASK  为xattr 关键字指定排除匹配项
          --xattrs-include=MASK  为xattr 关键字指定包含匹配项
    
     设备选择和切换:
    
      -f, --file=ARCHIVE         使用归档文件或 ARCHIVE 设备
          --force-local
                                 即使归档文件存在副本还是把它认为是本地归档
      -F, --info-script=名称, --new-volume-script=名称
                                 在每卷磁带最后运行脚本(隐含 -M)
      -L, --tape-length=NUMBER   写入 NUMBER × 1024 字节后更换磁带
      -M, --multi-volume         创建/列出/解压多卷归档文件
          --rmt-command=COMMAND  使用指定的 rmt COMMAND 代替 rmt
          --rsh-command=COMMAND  使用远程 COMMAND 代替 rsh
          --volno-file=FILE      使用/更新 FILE 中的卷数
    
     设备分块:
    
      -b, --blocking-factor=BLOCKS   每个记录 BLOCKS x 512 字节
      -B, --read-full-records    读取时重新分块(只对 4.2BSD 管道有效)
      -i, --ignore-zeros         忽略归档中的零字节块(即文件结尾)
          --record-size=NUMBER   每个记录的字节数 NUMBER,乘以 512
    
     选择归档格式:
    
      -H, --format=FORMAT        创建指定格式的归档
    
     FORMAT 是以下格式中的一种:
    
        gnu                      GNU tar 1.13.x 格式
        oldgnu                   GNU 格式 as per tar <= 1.12
        pax                      POSIX 1003.1-2001 (pax) 格式
        posix                    等同于 pax
        ustar                    POSIX 1003.1-1988 (ustar) 格式
        v7                       old V7 tar 格式
    
          --old-archive, --portability
                                 等同于 --format=v7
          --pax-option=关键字[[:]=值][,关键字[[:]=值]]...
                                 控制 pax 关键字
          --posix                等同于 --format=posix
      -V, --label=TEXT           创建带有卷名 TEXT
                                 的归档;在列出/解压时,使用 TEXT
                                 作为卷名的模式串
    
     压缩选项:
    
      -a, --auto-compress        使用归档后缀名来决定压缩程序
      -I, --use-compress-program=PROG
                                 通过 PROG 过滤(必须是能接受 -d
                                 选项的程序)
      -j, --bzip2                通过 bzip2 过滤归档
      -J, --xz                   通过 xz 过滤归档
          --lzip                 通过 lzip 过滤归档
          --lzma                 通过 xz 过滤归档
          --lzop                 通过 lzop 过滤归档
          --no-auto-compress     不使用归档后缀名来决定压缩程序
      -z, --gzip, --gunzip, --ungzip   通过 gzip 过滤归档
          --zstd                 通过 zstd 过滤归档
      -Z, --compress, --uncompress   通过 compress 过滤归档
    
     本地文件选择:
    
          --backup[=CONTROL]     在删除前备份,选择 CONTROL 版本
      -h, --dereference
                                 跟踪符号链接;将它们所指向的文件归档并输出
          --hard-dereference
                                 跟踪硬链接;将它们所指向的文件归档并输出
      -K, --starting-file=MEMBER-NAME
                                 从归档中的 MEMBER-NAME
                                 成员处开始读取归档
          --newer-mtime=DATE     当只有数据改变时比较数据和时间
      -N, --newer=DATE-OR-FILE, --after-date=DATE-OR-FILE
                                 只保存比 DATE-OR-FILE 更新的文件
          --one-file-system      创建归档时保存在本地文件系统中
      -P, --absolute-names       不要从文件名中清除引导符‘/’
          --suffix=STRING        在删除前备份,除非被环境变量
                                 SIMPLE_BACKUP_SUFFIX
                                 覆盖,否则覆盖常用后缀(‘’)
    
     文件名变换:
    
          --strip-components=NUMBER   解压时从文件名中清除 NUMBER
                                 个引导部分
          --transform=EXPRESSION, --xform=EXPRESSION
                                 使用 sed 代替 EXPRESSION
                                 来进行文件名变换
    
     提示性输出:
    
          --checkpoint[=NUMBER]  每隔 NUMBER
                                 个记录显示进度信息(默认为 10 个)
          --checkpoint-action=ACTION   在每个检查点上执行 ACTION
          --full-time            按文件原本时间格式打印
          --index-file=FILE      将详细输出发送至 FILE
      -l, --check-links
                                 只要不是所有链接都被输出就打印信息
          --no-quote-chars=STRING   禁用来自 STRING 的字符引用
          --quote-chars=STRING   来自 STRING 的额外的引用字符
          --quoting-style=STYLE  设置名称引用风格;有效的 STYLE
                                 值请参阅以下说明
      -R, --block-number         每个信息都显示归档内的块数
          --show-defaults        显示 tar 默认选项
          --show-omitted-dirs
                                 列表或解压时,列出每个不匹配查找标准的目录
          --show-snapshot-field-ranges
                                 显示快照文件区的有效范围
          --show-transformed-names, --show-stored-names
                                 显示变换后的文件名或归档名
          --totals[=SIGNAL]      处理归档后打印出总字节数;当此
                                 SIGNAL 被触发时带参数 -
                                 打印总字节数;允许的信号为:
                                 SIGHUP,SIGQUIT,SIGINT,SIGUSR1 和
                                 SIGUSR2;同时也接受不带 SIG
                                 前缀的信号名称
          --utc                  以 UTC 格式打印文件修改时间
      -v, --verbose              详细地列出处理的文件
          --warning=KEYWORD      警告控制:
      -w, --interactive, --confirmation
                                 每次操作都要求确认
    
     兼容性选项:
    
      -o                         创建归档时,相当于
                                 --old-archive;展开归档时,相当于
                                 --no-same-owner
    
     其它选项:
    
      -?, --help                 显示此帮助列表
          --restrict             禁用某些潜在的有危险的选项
          --usage                显示简短的用法说明
          --version              打印程序版本
    
    长选项和相应短选项具有相同的强制参数或可选参数。
    
    The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.
    The version control may be set with --backup or VERSION_CONTROL, values are:
    
      none, off       never make backups
      t, numbered     make numbered backups
      nil, existing   numbered if numbered backups exist, simple otherwise
      never, simple   always make simple backups
    
    --quoting-style 选项的有效参数为:
    
      literal
      shell
      shell-always
      shell-escape
      shell-escape-always
      c
      c-maybe
      escape
      locale
      clocale
    
    此 tar 默认为:
    --format=gnu -f- -b20 --quoting-style=escape --rmt-command=/usr/sbin/rmt
    --rsh-command=/usr/bin/rsh
    

    解压

    • 解压到当前目录
    #### 解压到当前目录
    tar -zxvf xxx.tar.gz
    
    • 解压到指定目录
    tar -C
    

    4-2 zip

    4-2-1 解压

    • 解压file.zip

      unzip file.zip
      
    • 以指定编码解压(解决中文乱码)

      unzip -O CP936 file.zip
      
    • 可用选项: unzip --help

    UnZip 6.00 of 20 April 2009, by Debian. Original by Info-ZIP.
    
    Usage: unzip [-Z] [-opts[modifiers]] file[.zip] [list] [-x xlist] [-d exdir]
      Default action is to extract files in list, except those in xlist, to exdir;
      file[.zip] may be a wildcard.  -Z => ZipInfo mode ("unzip -Z" for usage).
    
      -p  extract files to pipe, no messages     -l  list files (short format)
      -f  freshen existing files, create none    -t  test compressed archive data
      -u  update files, create if necessary      -z  display archive comment only
      -v  list verbosely/show version info       -T  timestamp archive to latest
      -x  exclude files that follow (in xlist)   -d  extract files into exdir
    modifiers:
      -n  never overwrite existing files         -q  quiet mode (-qq => quieter)
      -o  overwrite files WITHOUT prompting      -a  auto-convert any text files
      -j  junk paths (do not make directories)   -aa treat ALL files as text
      -U  use escapes for all non-ASCII Unicode  -UU ignore any Unicode fields
      -C  match filenames case-insensitively     -L  make (some) names lowercase
      -X  restore UID/GID info                   -V  retain VMS version numbers
      -K  keeap setuid/setgid/tacky permissions   -M  pipe through "more" pager
      -O CHARSET  specify a character encoding for DOS, Windows and OS/2 archives
      -I CHARSET  specify a character encoding for UNIX and other archives
    See "unzip -hh" or unzip.txt for more help.  Examples:
      unzip data1 -x joe   => extract all files except joe from zipfile data1.zip
      unzip -p foo | more  => send contents of foo.zip via pipe into program more
      unzip -fo foo ReadMe => quietly replace existing ReadMe if archive file newer
    

    4-2-2 压缩(归档)

    Copyright (c) 1990-2008 Info-ZIP - Type 'zip "-L"' for software license.
    Zip 3.0 (July 5th 2008). Usage:
    zip [-options] [-b path] [-t mmddyyyy] [-n suffixes] [zipfile list] [-xi list]
      The default action is to add or replace zipfile entries from list, which
      can include the special name - to compress standard input.
      If zipfile and list are omitted, zip compresses stdin to stdout.
      -f   freshen: only changed files  -u   update: only changed or new files
      -d   delete entries in zipfile    -m   move into zipfile (delete OS files)
      -r   recurse into directories     -j   junk (don't record) directory names
      -0   store only                   -l   convert LF to CR LF (-ll CR LF to LF)
      -1   compress faster              -9   compress better
      -q   quiet operation              -v   verbose operation/print version info
      -c   add one-line comments        -z   add zipfile comment
      -@   read names from stdin        -o   make zipfile as old as latest entry
      -x   exclude the following names  -i   include only the following names
      -F   fix zipfile (-FF try harder) -D   do not add directory entries
      -A   adjust self-extracting exe   -J   junk zipfile prefix (unzipsfx)
      -T   test zipfile integrity       -X   eXclude eXtra file attributes
      -y   store symbolic links as the link instead of the referenced file
      -e   encrypt                      -n   don't compress these suffixes
      -h2  show more help
    

    4-3 xz

    • 将file.tar.xz解压为file.tar

      xz -d file.tar.xz
      

    五、权限

    浅析文件/目录的权限:举个栗子,如图有两个目录(example.direxample.dir-1),两个文件(example.fileexample.file-1)。

    最左侧的部分就是权限部分如:drwxrwxrwx,总共10位,分为四组(第一位表示类型,d表示目录,-表示文件;后面9位3位为一组分别为:当前用户、用户组、其他用户所具有的权限)(rwx,表示read、write、execute,即读、写、执行)

    • rwx的权限数值分别为421。举个栗子,比如drwxrwxrwx,表示d777,每个数字代表一组权限。那么-700,就表示该文件对当前用户有读、写、执行权,用户组和其他用户没有任何权限。
    #### 文读写执行权限
    # 7=4+2+1
    #   4:r读
    #   2:w写
    #   1:x执行
    ##第一位是属主权
    ##第二位是属组权
    ##第三位是所有人
    

    • 修改权限

      sudo chmod 777 文件/目录
      
      sudo chmod +x file/dir
      
    • 修改目录和子目录的权限

    sudo chmod -R 777 directory/
    
    • 修改目录/文件的属主/属组

      语法: sudo chown 属主:属组 目录或文件

      sudo chown langkye:root fileName
      

      六、服务

    • 启动服务

    systemctl start nginx #启动nginx
    
    • 停止服务
    systemctl stop mysql #停止mysql
    
    • 查看服务状态
    systemctl status nginx #查看nginx状态
    
  • 相关阅读:
    datagridview中读取数据判断+考勤每月上班天数判断
    dateTimePicker日期比较+时间段内查询+员工查询薪资步骤+datagridview
    c#word 存取
    位图去空白
    过桥问题
    Dominos 2(DFS)(容器)
    poj 3421(三分)
    poj 3186(DP)
    安装Ubuntu
    poj 3273(二分)
  • 原文地址:https://www.cnblogs.com/langkyeSir/p/13890845.html
Copyright © 2020-2023  润新知