zoukankan      html  css  js  c++  java
  • linux常用命令

    1. ls
    显示目录文件夹及文件
    使用方式: ls -lt

    -a 显示目录下所有文件及文件夹包括 . 与 ..
    -A 显示目录下所有文件及文件夹不包括 . 与 ..
    -l 显示目录下所有文件及文件夹详细信息
    -t 按修改时间排序(倒序)
    -F 如目录后加/ 如可执行文件后加*
    -r 按文件名字母排序(倒序)
    -R 显示目录下所有文件夹及文件(包括子文件夹)
    2. cat
    将文件内容串连后输出
    使用方式: cat file1 file2 filen
    -n 对所有输出的行数加序号
    -b 对所有输出的非空白行数加序号
    -s 如连续两行或以上的空行,替代为一行空行
    3.chmod
    更新文件夹或文件权限
    使用方式: chmod a+x *.*
    ugoa +-= rwx
    -c 如修改后的权限与之前不同,显示修改讯息
    -v 显示修改讯息
    -f 隐藏错误
    -R 遍历设置权限(子文件夹)
    4.chown
    更新文件夹拥有者与组
    使用方式: chown -R root:root *

    -R 遍历设置(子文件夹)

    5. cp
    本地复制文件夹与文件
    使用方式: cp -a source dest

    -a 保留源文件的权限等讯息
    -r 遍历复制(子文件夹)
    -f 当目标文件与原文件重名,先删除目标文件,再复制
    6. cut
    显示文件内容N-M列的内容
    使用方式: cut -c1-6 file
    -c 显示每行从头开始的num1到num2的文字

    7. rm
    删除文件
    使用方式: rm -rf file or folder

    -i 删除前逐一询问确认
    -f 即使文件只读都强制删除,不需要确认
    -r 遍历删除(子文件夹)
    8. rmdir
    删除文件夹
    使用方式: rmdir folder

    -p 如果删除子文件夹后是空文件夹,则一并删除。注意:会一直删除父级目录,直到父级目录不为空。
    9. unzip
    解密
    使用方式: unzip -P 123456 -d path o.zip

    -P <密码> zip 压缩包的密码
    -f 覆盖原有文件
    -d <路径> 指定解压路径
    -n 解压缩时不覆盖原有文件
    -o 不经询问,直接覆盖原有文件
    -u 覆盖原有文件,并将压缩文件中的其他文件解压缩到目录中
    -l 显示压缩文件内所包含的文件 -t 检查压缩文件是否正确
    -Z unzip -Z 等于执行 zipinfo 指令 -j 不处理压缩文件中原有的目录路径
    -C 压缩文件中的文件名称区分大小写
    -z 显示压缩包注释
    -L 将压缩文件中的全部文件名改为小写
    -s 将文件名中的空格转换下划线 -X 解压缩时保留文件原来的 UID/GID
    -q 执行时不显示任何信息 -v 执行是时显示详细的信息
    -c 将解压缩的结果显示到屏幕上,并对字符做适当的转换
    -p 与-c 参数类似,会将解压缩的结果显示到屏幕上,但不会执行任何的转换
    -a 对文本文件进行必要的字符转换
    -b 不要对文本文件进行字符转换
    -x <表达式> 处理里排除压缩包中的指定文件
    -M 将输出结果送到 more 程序处理

    10. zip
    加密
    使用方式: zip -q -r d.zip folder/file

    -A 调整可执行的自动解压缩文件。 
    -b <工作目录> 指定暂时存放文件的目录。 
    -c 替每个被压缩的文件加上注释。 
    -d 从压缩文件内删除指定的文件。 
    -D 压缩文件内不建立目录名称。 
    -f 此参数的效果和指定"-u"参数类似,但不仅更新既有文件,如果某些文件原本不存在于压缩文件内,使用本参数会一并将其加入压缩文件中。 
    -F 尝试修复已损坏的压缩文件。 
    -g 将文件压缩后附加在既有的压缩文件之后,而非另行建立新的压缩文件。 
    -h 在线帮助。 
    -i <范本样式> 只压缩符合条件的文件。 
    -j 只保存文件名称及其内容,而不存放任何目录名称。 
    -J 删除压缩文件前面不必要的数据。 
    -k 使用MS-DOS兼容格式的文件名称。 
    -l 压缩文件时,把LF字符置换成LF+CR字符。 
    -ll 压缩文件时,把LF+CR字符置换成LF字符。 
    -L 显示版权信息。 
    -m 将文件压缩并加入压缩文件后,删除原始文件,即把文件移到压缩文件中。 
    -n <字尾字符串> 不压缩具有特定字尾字符串的文件。 
    -o 以压缩文件内拥有最新更改时间的文件为准,将压缩文件的更改时间设成和该文件相同。 
    -q 不显示指令执行过程。 
    -r 递归处理,将指定目录下的所有文件和子目录一并处理。 
    -S 包含系统和隐藏文件。 
    -t <日期时间> 把压缩文件的日期设成指定的日期。 
    -T 检查备份文件内的每个文件是否正确无误。 
    -u 更换较新的文件到压缩文件内。 
    -v 显示指令执行过程或显示版本信息。 
    -V 保存VMS操作系统的文件属性。 
    -w 在文件名称里假如版本编号,本参数仅在VMS操作系统下有效。 
    -x <范本样式> 压缩时排除符合条件的文件。 
    -X 不保存额外的文件属性。 
    -y 直接保存符号连接,而非该连接所指向的文件,本参数仅在UNIX之类的系统下有效。 
    -z 替压缩文件加上注释。 
    -$ 保存第一个被压缩文件所在磁盘的卷册名称。 
    -<压缩效率> 压缩效率是一个介于1-9的数值。

    11. find

    查找文件及文件夹
    使用方式: find path -mtime 3 -type f -exec ls -lt {} \;

    -atime N 最后访问时间在N天前
    -mtime N 最后更新时间在N天前
    -name name 名称包含
    -user user 用户名包含
    -newer otherfile 比某个文件新
    -type 类型 f:文件 d:目录
    
    !  not
    -a and
    -o or
    
    -print 打印文件名
    -mount 不搜索其他问题系统的目录
    -maxdepth N 最多搜寻目录的层数
    -mindepth N 从N层开始搜寻
    -depth 查看目录本身之前先搜寻目录的内容
    -empty 文件或目录为空
    
    -exec command {} \; 执行命令
    -ok command {} \;   执行命令,每次执行需要用户确认
    12. grep
    匹配
    使用方式: grep -c "string" file1 file2

    -c 只显示匹配的行数
    -i 不区分大小写
    -l 只显示文件名
    -h 不显示前缀文件名
    -v 显示不匹配的行数
    -E 扩展模式(使用正则)
    -n 显示匹配的行在文件中的行数
    -x 只打印整行匹配的行
    -Ax 显示匹配行后x行
    -By 显示匹配行前y行
    -Cz 显示匹配行前后z行
    13. scp
    远程复制文件夹与文件
    使用方式:
    scp localfile username@ip:remotefolder
    scp username@ip:remotefile localfolder
    scp -r localfolder username@ip:remotefolder
    scp -r username@ip:remotefolder localfolder

    -r 复制目录及所有子目录子文件(遍历)
    14. df du
    df  查看文件系统容量
    du 查看文件夹及文件容量
    使用方式:
    du -h --max-depth=1 folder
    df -h

    -h 以可读性较好的方式显示尺寸(例如:1K 234M 2G)
    --max-depth=N N查询的深度
    15. ln
    创建文件或文件夹链接
    使用方式:
    ln -s 源文件/源文件夹 目标文件
    ln -s /home/fdipzone/demo link 在当前目录创建一个文件夹链接link,链接到 /home/fdipzone/demo
    说明 : Linux/Unix 档案系统中,有所谓的连结(link),我们可以将其视为档案的别名,而连结又可分为两种 : 硬连结(hard link)与软连结(symbolic link),硬连结的意思是一个档案可以有多个名称,而软连结的方式则是产生一个特殊的档案,该档案的内容是指向另一个档案的位置。硬连结是存在同一个档 案系统中,而软连结却可以跨越不同的档案系统。

    ln source dist 是产生一个连结(dist)到 source,至于使用硬连结或软链结则由参数决定。
    不论是硬连结或软链结都不会将原本的档案复制一份,只会占用非常少量的磁碟空间。
    -f : 链结时先将与 dist 同档名的档案删除
    -d : 允许系统管理者硬链结自己的目录
    -i : 在删除与 dist 同档名的档案时先进行询问
    -n : 在进行软连结时,将 dist 视为一般的档案
    -s : 进行软链结(symbolic link)
    -v : 在连结之前显示其档名
    -b : 将在链结时会被覆写或删除的档案进行备份
    -S SUFFIX : 将备份的档案都加上 SUFFIX 的字尾
    -V METHOD : 指定备份的方式
    --help : 显示辅助说明
    --version : 显示版本
    16. locate
    locate 让使用者可以很快速的搜寻档案系统内是否有指定的档案。其方法是先建立一个包括系统内所有档案名称及路径的资料库,之后当寻找时就只需查询这个资料库,而不必实际深入档案系统之中了。在一般的 distribution 之中,资料库的建立都被放在 contab 中自动执行。
    使用方式:
    locate filename
    locate [-q] [-d ] [--database=]
    locate [-r ] [--regexp=]
    locate [-qv] [-o ] [--output=]
    locate [-e ] [-f ] <[-l ] [-c] <[-U ] [-u]>
    locate [-Vh] [--version] [--help]

    locate chdrv:寻找所有叫 chdrv 的档案
    locate -n 100 a.out:寻找所有叫 a.out 的档案,但最多只显示 100 个
    locate -u:建立资料库

    -u
    -U 建立资料库,-u 会由根目录开始,-U 则可以指定开始的位置。
    -e 将排除在寻找的范围之外。
    -l 如果 是 1.则启动安全模式。在安全模式下,使用者不会看到权限无法看到的档案。这会始速度减慢,因为 locate 必须至实际的档案系统中取得档案的权限资料。
    -f 将特定的档案系统排除在外,例如我们没有到理要把 proc 档案系统中的档案放在资料库中。
    -q 安静模式,不会显示任何错误讯息。
    -n 至多显示n个输出。
    -r 使用正规运算式 做寻找的条件。
    -o 指定资料库存的名称。
    -d 指定资料库的路径
    -h 显示辅助讯息
    -v 显示更多的讯息
    -V 显示程式的版本讯息
    17. wc
    使用方式:wc [option] file1  file2
    wc -l file
    可以组合使用 wc -lcw file1 file2

    - c 统计字节数
    - l 统计行数
    - w 统计字数
    18. wget
    使用方式:wget [options] [URL]
    wget -O test.zip http://www.fdipzone.com/test.zip

    启动:
    -V, --version 显示wget的版本后退出
    -h, --help 打印语法帮助
    -b, --background 启动后转入后台执行
    -e, --execute=COMMAND 执行`.wgetrc'格式的命令,wgetrc格式参见/etc/wgetrc或~/.wgetrc
    wget默认会根据网站的robots.txt进行操作
    使用-e robots=off参数即可绕过该限制
    
    记录和输入文件:
    -o, --output-file=FILE 把记录写到FILE文件中
    -a, --append-output=FILE 把记录追加到FILE文件中
    -d, --debug 打印调试输出
    -q, --quiet 安静模式(没有输出)
    -v, --verbose 冗长模式(这是缺省设置)
    -nv, --non-verbose 关掉冗长模式,但不是安静模式
    -i, --input-file=FILE 下载在FILE文件中出现的URLs
    -F, --force-html 把输入文件当作HTML格式文件对待
    -B, --base=URL 将URL作为在-F -i参数指定的文件中出现的相对链接的前缀
    --sslcertfile=FILE 可选客户端证书
    --sslcertkey=KEYFILE 可选客户端证书的KEYFILE
    --egd-file=FILE 指定EGD socket的文件名
    
    下载:
    --bind-address=ADDRESS 指定本地使用地址(主机名或IP,当本地有多个IP或名字时使用)
    -t, --tries=NUMBER 设定最大尝试链接次数(0 表示无限制).
    -O --output-document=FILE 把文档写到FILE文件中
    -nc, --no-clobber 不要覆盖存在的文件或使用.#前缀
    -c, --continue 接着下载没下载完的文件
    --progress=TYPE 设定进程条标记
    -N, --timestamping 不要重新下载文件除非比本地文件新
    -S, --server-response 打印服务器的回应
    --spider 不下载任何东西
    -T, --timeout=SECONDS 设定响应超时的秒数
    -w, --wait=SECONDS 两次尝试之间间隔SECONDS秒
    --waitretry=SECONDS 在重新链接之间等待1...SECONDS秒
    --random-wait 在下载之间等待0...2*WAIT秒
    -Y, --proxy=on/off 打开或关闭代理
    -Q, --quota=NUMBER 设置下载的容量限制
    --limit-rate=RATE 限定下载输率
    
    目录:
    -nd --no-directories 不创建目录
    -x, --force-directories 强制创建目录
    -nH, --no-host-directories 不创建主机目录
    -P, --directory-prefix=PREFIX 将文件保存到目录 PREFIX/...
    --cut-dirs=NUMBER 忽略 NUMBER层远程目录
    
    HTTP 选项:
    --http-user=USER 设定HTTP用户名为 USER.
    --http-passwd=PASS 设定http密码为 PASS.
    -C, --cache=on/off 允许/不允许服务器端的数据缓存 (一般情况下允许).
    -E, --html-extension 将所有text/html文档以.html扩展名保存
    --ignore-length 忽略 `Content-Length'头域
    --header=STRING 在headers中插入字符串 STRING
    --proxy-user=USER 设定代理的用户名为 USER
    --proxy-passwd=PASS 设定代理的密码为 PASS
    --referer=URL 在HTTP请求中包含 `Referer: URL'头
    -s, --save-headers 保存HTTP头到文件
    -U, --user-agent=AGENT 设定代理的名称为 AGENT而不是 Wget/VERSION.
    --no-http-keep-alive 关闭 HTTP活动链接 (永远链接).
    --cookies=off 不使用 cookies.
    --load-cookies=FILE 在开始会话前从文件 FILE中加载cookie
    --save-cookies=FILE 在会话结束后将 cookies保存到 FILE文件中
    
    FTP 选项:
    -nr, --dont-remove-listing 不移走 `.listing'文件
    -g, --glob=on/off 打开或关闭文件名的 globbing机制
    --passive-ftp 使用被动传输模式 (缺省值).
    --active-ftp 使用主动传输模式
    --retr-symlinks 在递归的时候,将链接指向文件(而不是目录)
    
    递归下载:
    -r, --recursive 递归下载--慎用!
    -l, --level=NUMBER 最大递归深度 (inf 或 0 代表无穷).
    --delete-after 在现在完毕后局部删除文件
    -k, --convert-links 转换非相对链接为相对链接
    -K, --backup-converted 在转换文件X之前,将之备份为 X.orig
    -m, --mirror 等价于 -r -N -l inf -nr.
    -p, --page-requisites 下载显示HTML文件的所有图片
    
    递归下载中的包含和不包含(accept/reject):
    -A, --accept=LIST 分号分隔的被接受扩展名的列表
    -R, --reject=LIST 分号分隔的不被接受的扩展名的列表
    -D, --domains=LIST 分号分隔的被接受域的列表
    --exclude-domains=LIST 分号分隔的不被接受的域的列表
    --follow-ftp 跟踪HTML文档中的FTP链接
    --follow-tags=LIST 分号分隔的被跟踪的HTML标签的列表
    -G, --ignore-tags=LIST 分号分隔的被忽略的HTML标签的列表
    -H, --span-hosts 当递归时转到外部主机
    -L, --relative 仅仅跟踪相对链接
    -I, --include-directories=LIST 允许目录的列表
    -X, --exclude-directories=LIST 不被包含目录的列表
    -np, --no-parent 不要追溯到父目录
    19.tar
    使用方式:tar [-cxtzjvfpPN] 文件与目录
    tar -xzvf  test.tar.gz

    -c :建立一个压缩文件的参数指令(create 的意思);
    -x :解开一个压缩文件的参数指令!
    -t :查看 tarfile 里面的文件!
    特别注意,在参数的下达中, c/x/t 仅能存在一个!不可同时存在!
    因为不可能同时压缩与解压缩。
    -z :是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩?
    -j :是否同时具有 bzip2 的属性?亦即是否需要用 bzip2 压缩?
    -v :压缩的过程中显示文件!这个常用,但不建议用在背景执行过程!
    -f :使用档名,请留意,在 f 之后要立即接档名喔!不要再加参数!
       例如使用『 tar -zcvfP tfile sfile』就是错误的写法,要写成
       『 tar -zcvPf tfile sfile』才对
    -p :使用原文件的原来属性(属性不会依据使用者而变)
    -P :可以使用绝对路径来压缩!
    -N :比后面接的日期(yyyy/mm/dd)还要新的才会被打包进新建的文件中!
    --exclude FILE:在压缩的过程中,不要将 FILE 打包!

    20.tail
    使用方式:tail [-fqvcn] 文件
    tail -f test.log

    -f 循环读取
    -q 不显示处理信息
    -v 显示详细的处理信息
    -c<数目> 显示的字节数
    -n<行数> 显示行数
    --pid=PID 与-f合用,表示在进程ID,PID死掉之后结束. 
    -q, --quiet, --silent 从不输出给出文件名的首部 
    -s, --sleep-interval=S 与-f合用,表示在每次反复的间隔休眠S秒 
    注意 -f 是 --follow[=HOW]的缩写,可以一直读文件末尾的字符并打印出来。
    [=HOW]有两个写法,=descriptor 和 =name 默认使用descriptor,如果你跟踪的文件被移动或者改名后,还想继续tail,可以使用这个选项。
    但如果在tail 一个log文件时,这个文件很可能是被删除或被覆盖,文件覆盖后,tail -f命令就会失效,这种情况需要使用tail -F命令
    -F 是 --follow=name -retry的缩写,--follow=name是按文件名跟踪文件,可以定期去重新打开文件检查文件是否被其它程序删除并重新建立,-retry这个参数,保证文件重新建立后,可以继续被跟踪。

    --follow=descriptor 例子
    1.sh

    #!/bin/bash
     
    while :
    do
        echo $(date +%Y-%m-%d' '%H:%M:%S) >> '1.log'
        sleep 1
    done
     
    exit 0
    2.sh
    #!/bin/bash
     
    while :
    do
        echo $(date +%Y-%m-%d' '%H:%M:%S) >> '2.log'
        sleep 1
    done
     
    exit 0
    1.在窗口1 执行 ./1.sh
    2.在窗口2 执行 tail -f 1.log,这时会看到有输出
    3.中止1.sh
    4.执行mv 1.log 2.log 改名

    5.执行 ./2.sh 这时会看到窗口2的tail会输出2.log的内容。


    --follow=name 例子

    1.在窗口1执行./1.sh
    2.在窗口2执行 tail -f 1.log,这时会看到有输出
    3.执行rm 1.log ,这时tail不再输出任何内容

    而使用 tail -F 1.log,则在执行rm 1.log 之后,当1.log创建时,tail会继续输出1.log的内容。因为 ./1.sh是循环执行,当1.log不存在时会创建








  • 相关阅读:
    实习日记7.28
    实习日记7.27
    实习总结(第三周)
    实习日记7.26
    实习日记7.25
    实习总结(第二周)
    实习总结(第一周)
    实习日记7.22
    实习日记7.21
    5月4下
  • 原文地址:https://www.cnblogs.com/fdipzone/p/3715144.html
Copyright © 2011-2022 走看看