码迷,mamicode.com
首页 > 系统相关 > 详细

Linux常用命令(一)

时间:2019-04-11 10:42:56      阅读:184      评论:0      收藏:0      [点我收藏+]

标签:功能   mtime   touch命令   ORC   替换   用户   查看文件内容   新建   默认   

linux常用命令(一)

1 touch命令

1.1 命令参数

    -a                     change only the access time
    -c, --no-create        do not create any files
    -d, --date=STRING      parse STRING and use it instead of current time
    -f                     (ignored)
    -h, --no-dereference   affect each symbolic link instead of any referenced
                           file (useful only on systems that can change the
                           timestamps of a symlink)
    -m                     change only the modification time
    -r, --reference=FILE   use this file‘s times instead of current time
    -t STAMP               use [[CC]YY]MMDDhhmm[.ss] instead of current time
    --time=WORD            change the specified time:
                             WORD is access, atime, or use: equivalent to -a
                             WORD is modify or mtime: equivalent to -m
        --help     display this help and exit
        --version  output version information and exit

1.2 命令实例

    touch file    创建一个名字为file的文件
    [root@sherwin shenwei]# touch file
    [root@sherwin shenwei]# ls
    file
    touch file{1..10}  创建file1—file10共10个文件
    [root@sherwin shenwei]# touch file{1..10}
    [root@sherwin shenwei]# ls
    file  file1  file10  file2  file3  file4  file5  file6  file7  file8  file9

2 mv命令

2.1 命令参数

    -b :若需覆盖文件,则覆盖前先行备份。 
    -f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖;
    -i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!
    -u :若目标文件已经存在,且 source 比较新,才会更新(update)
    -t : --target-directory=DIRECTORY move all SOURCE arguments into DIRECTORY,即指定mv的目标目录,该选项适用于移动多个源文件到一个目录的情况,此时目标目录在前,源文件在后。

2.2 命令实例

1.修改文件名称

    [root@sherwin shenwei]# ls
    test.txt
    [root@sherwin shenwei]# mv test.txt test.log
    [root@sherwin shenwei]# ls
    test.log

2.将多个文件移动到指定的目录中。

    **note:目标目录要放置在前面**
    [root@sherwin /]# cd shen
    [root@sherwin shen]# ls
    file1  file10  file2  file3  file4  file5  file6  file7  file8  file9
    [root@sherwin shen]# mv -t /shenwei file*
    [root@sherwin shen]# ls
    [root@sherwin shen]# cd ..
    [root@sherwin /]# cd shenwei
    [root@sherwin shenwei]# ls
    file1  file10  file2  file3  file4  file5  file6  file7  file8  file9  

3.将文件file1改名为file2,如果file2已经存在,增加参数 i 可以进行提示,省略也可以

    **note:-i 可以省去不写**
    [root@sherwin shen]# cd /shenwei
    [root@sherwin shenwei]# ls
    file1  file10  file2  file3  file4  file5  file6  file7  file8  file9  test.log
    [root@sherwin shenwei]# cd /shen
    [root@sherwin shen]# mv -i file1 /shenwei
    mv: overwrite `/shenwei/file1‘? yes
    [root@sherwin shen]# ls
    file2
    [root@sherwin shen]# cd /shenwei
    [root@sherwin shenwei]# ls
    file1  file10  file2  file3  file4  file5  file6  file7  file8  file9  test.log

4.将文件file1改名为file2,如果file2已经存在,则强制覆盖,增加参数 -f

    [root@sherwin shenwei]# cd /shen
    [root@sherwin shen]# ls
    file2
    [root@sherwin shen]# cd /shenwei
    [root@sherwin shenwei]# ls
    file1  file10  file2  file3  file4  file5  file6  file7  file8  file9  test.log
    [root@sherwin shenwei]# cd /shen
    [root@sherwin shen]# mv -f file2 /shenwei
    [root@sherwin shen]# cd /shenwei
    [root@sherwin shenwei]# ls
    file1  file10  file2  file3  file4  file5  file6  file7  file8  file9  test.log
    [root@sherwin shenwei]#
    [root@sherwin shenwei]# cd /shen
    [root@sherwin shen]# ls

3 cp命令

该命令的功能是将给出的文件或目录拷贝到另一文件或目录中

3.1 语法

语法: cp [选项] [源文件或目录 目标文件或目录]

3.2 命令参数

    -a 该选项通常在拷贝目录时使用。他保留连接、文件属性,并且递归地拷贝目录,其作用等于后面的dpr选项的组合
    -d 拷贝时保留连接
    -f 删除已经存在的目标文件并且不进行提示
    -i 和f相反,在覆盖文件之前将给出提示要求用户确认。回答y时目标文件将被覆盖,是交互式拷贝。 此参数可以时cp命令安全,建议用户在拷贝的时候增加。
    -p 除了复制源文件中的内容之外,还将其修改时间和访问权限也复制到新文件中。
    -r 递归复制目中的文件
    -l 不做拷贝,只做链接文件
    -v —— 带有 -v (verbose)选项,cp命令将告诉用户正在做什么。很多Linux命令都带有具有相同意义的 -v 选项。 

3.3 命令实例

1.将文档 file 复制成 file1 . –i为提示确认

    note:这个与mv的区别,mv是重命名,而cp是进行复制文件
    [root@sherwin shenwei]# cd /shen
    [root@sherwin shen]# ls
    file  file4
    [root@sherwin shen]# cp -i file file1
    [root@sherwin shen]# ls
    file  file1  file4
    2.将文档 file 复制到目录shemwei下,文件名仍为 file
    [root@sherwin shenwei]# ls
    file1  file10  file11  file2  file3  file4  file5  file6  file7  file8  file9  test.log
    [root@sherwin shenwei]# cd /shen
    [root@sherwin shen]# ls
    file  file1  file4
    [root@sherwin shen]# cp file /shenwei
    [root@sherwin shen]# cd /shenwei
    [root@sherwin shenwei]# ls
    file  file1  file10  file11  file2  file3  file4  file5  file6  file7  file8  file9  test.log
    [root@sherwin shenwei]#

4.递归复制目录

    note:如果目标文件不存在则新建文件夹并将文件复制到其中,倘若文件夹存在则在将源文件夹及其包含的内容复制到其中。
    [root@sherwin /]# ls
    bin  boot  dev  etc  home  lib  lib64  lost+found  media  mnt  opt  proc  root  sbin  selinux  srv  sys  tmp  usr  var
    [root@sherwin /]# mkdir shen
    [root@sherwin /]# ls
    bin  boot  dev  etc  home  lib  lib64  lost+found  media  mnt  opt  proc  root  sbin  selinux  shen  srv  sys  tmp  usr  var
    [root@sherwin /]# cd shen
    [root@sherwin shen]# mkdir shen{1..10}
    [root@sherwin shen]# ls
    shen1  shen10  shen2  shen3  shen4  shen5  shen6  shen7  shen8  shen9
    [root@sherwin shen]# cd ..
    [root@sherwin /]# cp -r shen shenwei
    [root@sherwin /]# ls
    bin  boot  dev  etc  home  lib  lib64  lost+found  media  mnt  opt  proc  root  sbin  selinux  shen  shenwei  srv  sys  tmp  usr  var
    [root@sherwin /]# cd shenwei
    [root@sherwin shenwei]# ls
    shen1  shen10  shen2  shen3  shen4  shen5  shen6  shen7  shen8  shen9
    [root@sherwin shenwei]# cd ..
    [root@sherwin /]# cp -r shen shenwei
    [root@sherwin /]# cd shenwei
    [root@sherwin shenwei]# ls
    shen  shen1  shen10  shen2  shen3  shen4  shen5  shen6  shen7  shen8  shen9
    [root@sherwin shenwei]# cd shen
    [root@sherwin shen]# ls
    shen1  shen10  shen2  shen3  shen4  shen5  shen6  shen7  shen8  shen9
    [root@sherwin shen]#

4 cat命令

cat命令常用来查看文件内容,并且可以跟几个文件一起连接起来显示,可以跟重定向命令(后续会讲到)一起使用为文件输入或追加内容。

cat主要有三大功能:

    1. 一次显示整个文件:cat filename
    2. 从键盘创建一个文件:cat > filename 只能创建新文件,不能编辑已有文件.
    3. 将几个文件合并为一个文件:cat file1 file2 > file

4.1 语法

语法cat [选项] [文件]...

4.2 命令参数

    -A, --show-all           等价于 -vET
    -b, --number-nonblank    对非空输出行编号
    -e                       等价于 -vE
    -E, --show-ends          在每行结束处显示 $
    -n, --number     对输出的所有行编号,由1开始对所有输出的行数编号
    -s, --squeeze-blank  有连续两行以上的空白行,就代换为一行的空白行 
    -t                       与 -vT 等价
    -T, --show-tabs          将跳格字符显示为 ^I
    -u                       (被忽略)
    -v, --show-nonprinting   使用 ^ 和 M- 引用,除了 LFD 和 TAB 之外

4.3 命令实例

  1. 把 Shen2019.log 的文件内容加上行号后输入 Shen2019.log.cat 这个文件中

    [root@ERICSSON test]# ls
    Shen2019.log
    [root@ERICSSON test]# cat Shen2019.log
    Shen2019-01
    Shen2019-02
    Shen2019-03
    Shen2019-04
    Shen2019-05
    Shen2019-06
    Shen2019-07
    Shen2019-08
    Shen2019-09
    Shen2019-10
    Shen2019-11
    Shen2019-12
    [root@ERICSSON test]# cat -n Shen2019.log > Shen2019.log.cat
    [root@ERICSSON test]# cat Shen2019.log.cat
         1  Shen2019-01
         2  Shen2019-02
         3  Shen2019-03
         4  Shen2019-04
         5  Shen2019-05
         6  Shen2019-06
         7  Shen2019-07
         8  Shen2019-08
         9  Shen2019-09
        10  Shen2019-10
        11  Shen2019-11
        12  Shen2019-12
    [root@ERICSSON test]# ls
    Shen2019.log  Shen2019.log.cat
  2. 使用here doc来生成文件

    输出:
    [root@ERICSSON test]# cat > log_test <<EOF
    > Hello
    > World
    > Linux
    > PWD = $(pwd)
    > EOF
    [root@ERICSSON test]# cat log_test
    Hello
    World
    Linux
    PWD = /test
    [root@ERICSSON test]#
    
    说明:
    注意粗体部分,here doc可以进行字符串替换。
    备注:
  3. tac命令 (反向列示)

    [root@ERICSSON test]# tac log_test
    PWD = /test
    Linux
    World
    Hello
    [root@ERICSSON test]#

说明:tac 是将 cat 反写过来,所以他的功能就跟 cat 相反, cat 是由第一行到最后一行连续显示在萤幕上,而 tac 则是由最后一行到第一行反向在萤幕上显示出来!

5 head命令

用来显示文件开头的内容,如果不指定参数,则默认显示前10行

5.1 语法

语法:head[参数][文件]

5.2 命令参数

    -q 隐藏文件名
    -v 显示文件名
    -c<字节> 显示字节数    
    -n<行数> 显示的行数

5.3 命令实例

  1. 显示文件的默认前10行

    [root@sherwin test]# head Shen2019.log 
    Shen2019-01
    Shen2019-02
    Shen2019-03
    Shen2019-04
    Shen2019-05
    Shen2019-06
    Shen2019-07
    Shen2019-08
    Shen2019-09
    Shen2019-10
    Shen2019-11
    Shen2019-12
  2. 显示文件的前 n 行

    [root@sherwin test]# head -n 4 Shen2019.log 
    Shen2019-01
    Shen2019-02
    Shen2019-03
    Shen2019-04
  3. 显示文件前n个字节

    [root@ERICSSON test]# head -c 10 Shen2019.log
    Shen2019-0[root@ERICSSON test]#
  4. 显示文件除了后n行之外的全部内容

    [root@sherwin test]# head -n -4 Shen2019.log 
    Shen2019-01
    Shen2019-02
    Shen2019-03
    Shen2019-04
    Shen2019-05
    Shen2019-06
    Shen2019-07
    Shen2019-08
  5. 显示文件除了最后n个字节以外的内容

    [root@ERICSSON test]#  head -c -40 Shen2019.log
    Shen2019-01
    Shen2019-02
    Shen2019-03
    Shen2019-04
    Shen2019-05
    Shen2019-06
    Shen2019-07
    Shen2019-08
    Shen2019[root@ERICSSON test]#

6 tail命令

tail 命令从指定点开始将文件写到标准输出,如果不指定参数,则默认显示后10行

6.1 语法

语法:tail[参数][文件]

6.2 命令参数

    -f 循环读取 
    -q 不显示处理信息
    -v 显示详细的处理信息
    -c<数目> 显示的字节数
    -n<行数> 显示行数
    -s, --sleep-interval=S 与-f合用,表示在每次反复的间隔休眠S秒 
    note:使用tail命令的-f选项可以方便的查阅正在改变的日志文件,tail -f filename会把filename里最尾部的内容显示在屏幕上,并且不但刷新,使你看到最新的文件内容. 

6.3 命令实例

  1. 显示文件末尾指定的行数内同

    [root@sherwin test]# tail -n 5 Shen2019.log 
    Shen2019-08
    Shen2019-09
    Shen2019-10
    Shen2019-11
    Shen2019-12
  2. 显示默认的10行数的内容

    [root@sherwin test]# tail Shen2019.log 
    Shen2019-03
    Shen2019-04
    Shen2019-05
    Shen2019-06
    Shen2019-07
    Shen2019-08
    Shen2019-09
    Shen2019-10
    Shen2019-11
    Shen2019-12
  3. 循环查看文件的内容

    [root@sherwin ~]# ping 10.0.0.21 > test.log(‘>‘表示重定向,后面会讲到)
    [root@sherwin ~]# tail -f test.log 
    PING 10.0.0.21 (10.0.0.21) 56(84) bytes of data.
    64 bytes from 192.168.120.204: icmp_seq=1 ttl=64 time=0.038 ms
    64 bytes from 192.168.120.204: icmp_seq=2 ttl=64 time=0.036 ms
    64 bytes from 192.168.120.204: icmp_seq=3 ttl=64 time=0.033 ms
    64 bytes from 192.168.120.204: icmp_seq=4 ttl=64 time=0.027 ms
    64 bytes from 192.168.120.204: icmp_seq=5 ttl=64 time=0.032 ms
    64 bytes from 192.168.120.204: icmp_seq=6 ttl=64 time=0.026 ms
    64 bytes from 192.168.120.204: icmp_seq=7 ttl=64 time=0.030 ms
    64 bytes from 192.168.120.204: icmp_seq=8 ttl=64 time=0.029 ms
    64 bytes from 192.168.120.204: icmp_seq=9 ttl=64 time=0.044 ms

Linux常用命令(一)

标签:功能   mtime   touch命令   ORC   替换   用户   查看文件内容   新建   默认   

原文地址:https://blog.51cto.com/12002695/2376936

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!