美文网首页
Linux常用命令

Linux常用命令

作者: constant007 | 来源:发表于2016-02-28 18:22 被阅读59次

    cd

    cd - //返回上一个目录
    cd ~ //进入home目录

    ls

    ls -a
    ls -lt 按时间顺序
    ls -ltr 按时间反序
    ll

    cp

    cp file1 file2
    cp -rf src dest --拷贝目录 -r 包含子目录

    mv

    移动或重命名

    mv命令是move的缩写,可以用来移动文件或者将文件改名(move (rename) files),是Linux系统下常用的命令,经常用来备份文件或者目录。

    mv test.log test1.txt --文件改名 test.log改为 test1.txt

    mv test1.txt dir --移动文件到dir目录

    mv dir1 dir2 --目录移动 如果目录dir2不存在,将目录dir1改名为dir2;否则,将dir1移动到dir2中。

    mv * ../ --移动当前文件夹下的所有文件到上一级目录

    rm

    删除文件及文件夹
    rm -rf *
    -r 递归删除,可删除子目录及文件
    -f 强制删除

    find

    find 在文件系统中搜索某文件
    find pathname -options [-print -exec -ok ...]
    find . -name ul_pwrm* // 在当前目录. 下寻找 以ul_name 打头的文件 ,并将所在目录输出到terminal
    find . -name *.vhd //找当前目录下所有的vhd文件

    find 找文件名 grep找文件内容
    find . -name '*.vhd' -print //找当前目录下所有的vhd文件 含子目录
    find pathname -options [-print -exec -ok ...]
    -mtime -n +n #按文件更改时间来查找文件,-n指n天以内,+n指n天以前
    -ctime -n +n #按文件创建时间来查找文件,-n指n天以内,+n指n天以前
    -type 查找某一类型的文件,诸如:
    b - 块设备文件。
    d - 目录。
    c - 字符设备文件。
    p - 管道文件。
    l - 符号链接文件。
    f - 普通文件。
    s - socket文件

    在clearcase的所有版本中搜索关键词
    cd file_name@@ //会把所有版本 label 分支的文件都显示出来
    find . -type f | xargs grep <keyword>

    grep

    搜索范围只能是当前目录,及子目录
    grep -ri 'pattern' ./ --常规使用方法 -r 搜索子目录 -i忽略大小写
    grep -v :反向选择,亦即显示出没有 '搜寻字符串' 内容的那一行!
    grep pattern1 | pattern2 filenames :显示匹配 pattern1 或 pattern2 的行
    grep -ri 'Service Unavailable|Service Degraded|Calibration Failure' .
    grep -rl pattern /usr/* --搜索子目录,仅列出文件名
    grep -r pattern /usr/* --搜索子目录,列出行的内容
    grep -r 'pattern' ./design_libs/ ./result.txt --将结果存入result

    grep管道
    grep -ri ‘pattern1’ | grep -v ‘pattern2’ -

    下面还有一些有意思的命令行参数:
    grep -i pattern files :不区分大小写地搜索,默认情况区分大小写,
    grep -l pattern files :只列出匹配的文件名,
    grep -L pattern files :列出不匹配的文件名,
    grep -w pattern files :只匹配整个单词,而不是字符串的一部分(如匹配’magic’,而不是’magical’),
    grep -C number pattern files :匹配的上下文分别显示[number]行,grep pattern1 | pattern2 files :显示匹配 pattern1 或 pattern2 的行,
    grep pattern1 files | grep pattern2 :显示既匹配 pattern1 又匹配 pattern2 的行。
    grep -n pattern files 即可显示行号信息
    grep -c pattern files 即可查找总行数

    假设您正在’/usr/src/Linux/Doc’目录下搜索带字符 串’magic’的文件:$ grep magic /usr/src/Linux/Doc/sysrq.txt: How do I enable the magic SysRQ key?sysrq.txt:* How do I use the magic SysRQ key?其中文件’sysrp.txt’包含该字符串,讨论的是 SysRQ 的功能。默认情况下,’grep’只搜索当前目录。如果 此目录下有许多子目录,’grep’会以如下形式列出:
    grep: sound: Is a directory这可能会使’grep’ 的输出难于阅读。这里有两种解决的办法:明确要求搜索子目录:grep -r或忽略子目录:grep -d skip
    如果有很多 输出时,您可以通过管道将其转到’less’上阅读:$ grep magic /usr/src/Linux/Documentation/* | less这样,您就可以更方便地阅读。

    我们可以通过管道操作来让grep变得更强大,管道操作就是把前面一条命令的输出作为后面一条命令的输入,从而把很多简单的命令组合起来完成复杂的功能。例如,如果我们想查找包含apple的行,但又想过滤掉pineapple,可以用下面的命令:
    grep apple fruitlist.txt | grep -v pineapple
    如果我们想把搜索结果保存起来,那么可以把命令的标准输出重定向到文件:grep apple fruitlist.txt | grep -v pineapple > apples.txt

    hitory

    history --历史上使用过的命令

    !! 重复执行上一次命令
    !12 --重复执行第12条
    !str --重复执行最近一条以字符串str开头的命令;
    !?str? --重复执行最近一条包含字符串str的命令;

    chmod

    chmod 755 files
    chmod 777 files

    + 表示增加权限、- 表示取消权限、= 表示唯一设定权限。
    r 表示可读取,w 表示可写入,x 表示可执行,X 表示只有当该档案是个子目录或者该档案已经被设定过为可执行。
    -c : 若该档案权限确实已经更改,才显示其更改动作
    -f : 若该档案权限无法被更改也不要显示错误讯息
    -v : 显示权限变更的详细资料
    -R : 对目前目录下的所有档案与子目录进行相同的权限变更(即以递回的方式逐个变更)
    --help : 显示辅助说明
    --version : 显示版本
    范例 :将档案 file1.txt 设为所有人皆可读取 :
    chmod ugo+r file1.txt
    将档案 file1.txt 设为所有人皆可读取 :
    *chmod a+r file1.txt *
    将档案 file1.txt 与 file2.txt 设为该档案拥有者,与其所属同一个群体者可写入,但其他以外的人则不可写入 :
    chmod ug+w,o-w file1.txt file2.txt
    将 ex1.py 设定为只有该档案拥有者可以执行 :
    chmod u+x ex1.py
    将目前目录下的所有档案与子目录皆设为任何人可读取 :
    chmod -R a+r *
    此外chmod也可以用数字来表示权限如 chmod 777 file
    语法为:
    chmod abc file
    其中a,b,c各为一个数字,分别表示User、Group、及Other的权限。
    r=4,w=2,x=1
    若要rwx属性则4+2+1=7;
    若要rw-属性则4+2=6;
    若要r-x属性则4+1=7。
    范例:
    chmod a=rwx file

    *chmod 777 file *
    效果相同

    chmod ug=rwx,o=x file

    *chmod 771 file *
    效果相同
    若用chmod 4755 filename可使此程序具有root的权限
    让其他人拷贝,设置成744

    第1字段

    文件属性字段总共有10个字母组成;第一个字符代表文件的类型。-文件 d目录
    第1字符的后面9个字母表示该文件或目录的权限位。
    r表是读 (Read) 、w表示写 (Write) 、x表示执行 (eXecute)
    其中前三个表示文件拥有者的权限,中间三个表示文件所属组拥有的权限,最后三个表示其他用户拥有的权限。

    第2字段:文件硬链接数
    第3字段:文件(目录)拥有者
    第4字段:文件(目录)拥有者所在的组
    第5字段: 文件所占用的空间(以字节为单位)
    第6字段:文件(目录)最近访问(修改)时间

    绿色的表示开权限有x,蓝色表示目录,红色代表压缩包
    文件名后加*代表可执行,即x;
    文件名后~ 代表缓存文件,类似于ultraedit中产生的.bak文件


    7A16248C6EAE45C997835CEF2EEA0B7C.jpg

    tar

    tar -zcvf filename.tar.gz path
    tar -zxvf filename.tar.gz -C path

    tar -cvf file2.tar /home/usr2/file2
    tar -xvf file2.tar -C /home/usr2

    压缩:tar -jcv -f filename.tar.bz2 要被壓縮的檔案或目錄名稱
    查 詢:tar -jtv -f filename.tar.bz2
    解壓縮:tar -jxv -f filename.tar.bz2 -C 欲解壓縮的目錄
    

    tar -zcvf filename.tar.gz
    tar -zxvf filename.tar.gz
    -j :透過 bzip2 的支援進行壓縮/解壓縮:此時檔名最好為 *.tar.bz2
    -z :透過 gzip 的支援進行壓縮/解壓縮:此時檔名最好為 *.tar.gz
    tar -jxv -f /root/etc.tar.bz2 -C /tmp
    -C 目錄 :這個選項用在解壓縮,若要在特定目錄解壓縮,可以使用這個選項。

    bzip2 比gzip的压缩比例更高

    tar -cvf file2.tar /home/usr2/file2
    该命令可以将/home/usr2/file2文件打包到当前目录下的file2.tar中,需要注意的是:使用绝对路径标识的源文件,在用tar命令压缩后,文件名连同绝对路径(这里是home/usr2/,根目录'/'被自动去掉了)一并被压缩进来。使用tar命令解压缩后会出现以下情况:
    tar -xvf file2.tar
    ls
    解压缩后的文件名不是想象中的file2,而是home/usr2/file2。
    tar -cvf file2.tar -C /home/usr2 file2
      该命令中的-C dir参数,将tar的工作目录从当前目录改为/home/usr2,将file2文件(不带绝对路径)压缩到file2.tar中。注意:-C dir参数的作用在于改变工作目录,其有效期为该命令中下一次-C dir参数之前。
      使用tar的-C dir参数,同样可以做到在当前目录/home/usr1下将文件解压缩到其他目录,例如:
    tar -xvf file2.tar -C /home/usr2
    而tar不用-C dir参数时是无法做到的:
    tar -xvf file2.tar /home/usr2
    tar: /tmp/file: Not found in archive
    tar: Error exit delayed from previous errors
    tar -xvf file2.tar -C /home/usr2

    -c 创建新的档案文件。如果用户想备份一个目录或是一些文件,就要选择这个选项。相当于打包。
    -x 从档案文件中释放文件。相当于拆包。
    -f :使用档名,请留意,在 f 之后要立即接档名喔!不要再加其他参数!
    -v :压缩的过程中显示文件!这个常用
    -z :是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩或解压? 一般格式为xx.tar.gz或xx. tgz
    

    du

    du -sh //查看磁盘空间大小
    du -a //包括目录和文件
    du -h --max-depth=1
    du -s

    重定向

    • > 覆盖原有文件,如果没有则新建
    • >> 追加输出到原有文件后

    相关文章

      网友评论

          本文标题:Linux常用命令

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