Linux最基础的命令

  • Linux的基本命令

1Watch

  watch  - execute a program periodically(周期性的),showing output fullscreen

  #解释:定期执行命令,显示输出全屏

  Watch  -n  1  date

spacer.gif

   每隔1秒执行一次date命令,Ctrl+c退出当前执行的一切操作

   watch -n 1 stat file 每隔一秒刷新一次文件的时间戳

2date {格式date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]] }

  date -Display thecurrent time in the given FORMAT, or set the system date.

  #解释:显示正确的时间格式或者设置系统的时间

spacer.gif

   输出当时间的10天前后

  date -d +10days

  date -d -10days

spacer.gif

  +%Y输出年份

  +%m输出月份

  +%M输出分钟

  +%d输出日

  +%H输出小时

  +%S输出秒

spacer.gif

 按照一定的格式输入系统的当前时间

 

修改系统时间是 date  [MMDDhhmm[[CC]YY][.ss]]

spacer.gif

3su

  (-表示切换系统的环境)

  如果不加-就是不切换当前环境,即在切换后用户的家目录

spacer.gif

如果不加—如上图所示,切换过去的命令与root所在的路径相同,如果加上—,就对应将用户的环境也切换过去。

4cal {格式:cal [-smjy13] [[[day] month] year] }

  cal - displays acalendar

  #解释显示一个日历

 -y显示整年

spacer.gif

   如果后面加98表示显示当前世纪的第98年也就是2089年,如果加1989年,就显示1989年。


 -j显示某年某月某日是一年的第几天

spacer.gif

 他的格式是日 年,根据他的标准格式而来。

5passwd

  -l表示锁住用户,禁止登陆

  -u表示解锁用户,可以登陆

  -d删除用户的密码,空密码可以登陆

  -n表示用户最小的的修改密码间隔

  -m表示用户的最大修改时间间隔

  -e表示用户在下次登陆时必须修改密码

  -S表示查看用户的密码信息

  -i设定用户非活跃参数

  -w警告期

6wc(world counts)

  -c打印文件的字节数

  spacer.gif

-m 打印文件的字符数(一个汉字对应2个字节,加一个字节对应字体,就是一个汉字对应3个字节,如果全部是英文则字节数和字符数是相同的

  spacer.gif

  -w打印多文件中有多少个字数

  spacer.gif

  -L打印文件中最长的行数含有多少个字符数

  -l打印文件的行数

   spacer.gif

  根据上图要注意区分-L参数和-l参数的区别,-l个是打印文件的总体行数,而-L是打印最多字   符数量(文件中的某一行)

  -n打印行号,包括空行

    -b 打印行号,不包括空行

   spacer.gif

    根据上图说明,-b-n有区别,-n将空行统计,-n不统计空行

   系统环境错乱(从普通用户切换到root在切换到普通用户,其中bash环境不同,后面两个    分别为第一个普通用户的子进程。)

 7vim

history(histoy -c ,!,ctrl+r)

 8touch (格式:touch[OPTION]... FILE...)

  touch - change filetimestamps

#解释修改文件的时间戳

  -a     只改变文件的Access时间

  -c     刷新文件的AccessChangeModify时间为当前时间。

  -d      --date=STRING修改文件的时间戳到任意时间

  -m     只修改文件的Modify时间

  -r    把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同。

  -t     使用[[CC]YY]MMDDhhmm[.ss做为文件的时间,而不是当前服务器的时间

  Access:文件的访问取用时间;

  Modify:文件的内容数据修改时间;

  Change:文件的状态修改时间;

watch -n 1 stat file 查看file状态


注意:touch修改了modify时间和access时间他的change时间会跟着改变

9mkdir

mkdir - make directories

  #解释:创建一个目录

  -m 创建时可以指定文件的权限,而不是根据系统的umask值创建的默认权限

  mkdir -m g=rwx file 

  -v     显示创建文件的过程

  -p     递归创建

 spacer.gif

10rm    

  rm - remove files ordirectories

  #解释:删除文件或者目录

  -d    删除空目录或者文件

  -f    强制删除而不询问

11less

  分页查看命令和cat不同的是他将大于一页的内容分页查看。

  查看其快捷键yelphelp:gedit

12tail

  -v显示显示文件名称

-c 显示文件的后几个字节(注意:k为单位)

-f一直监控文件的最后几行,不断刷新,以Ctrl+c结束

-n表示输出最后行

spacer.gif

13cp(新建的过程)

   -r表示第归复制

   -v表示显示复制过程

   -p表示复制文件的权限和原来保持一致

   -n表示输出文件的最后几行

14mv(重命名的过程)

15head

  -n输出打印文件的前几行,默认为10

  -c打印文件的前几个字节

  -v显示显示文件名称

  -q默认添加的参数

16xargs

  不加参数 ls |grep"^s" |xargs rm -rf  #删除目录下以s开头的所有目录

   -a  xargs -a file1 rm -rf file2  #file1的内容作为命令的执行目标

   -n  xargs -n file #file文件分为n列输出

   -d  xargs -db file  #file文件以d进行分割输出

   -dn xargs -db -n file#将文件的第(n-1)(n)行之间的内容输出

 stdin         将标准输出作为标准的输出

 四.正则表达式

 1》正则表达式通配符

    *                ###匹配0到任意字符

    ?               ###匹配单个字符

    [[:alpha:]]         ###匹配单个字符

     [[:lower:]]       ###匹配单个小写字符

     [[:upper:]]       ###匹配单个大写字母

     [[:digit:]]         ###匹配单个数字

     spacer.gif

      [[:alnum:]]       ###匹配单个数字或字母

      [[:punct:]]         ###匹配单个符号

      [[:space:]]       ###匹配单个空格

      {}表示不存在的或者存在的

    {1..9}                ###1-9

    {a..f}                     ###a-f

   spacer.gif

    注意中间必须有两个点,如果一个会出西错误

    {1,3,5}              ###135  

    {a,c,e}              ###ac e 

   spacer.gif

      注意:中间为一个逗号

{1..3}{a..c}       ###1a 2a 3a 2a 2b 2c 3a 3b 3c

spacer.gif

     相当于全排列

     []表示存在的

     [a-C]                ###aAbBcC           

     [a-c]                ###aA或者bB或者c

     [1-3]                ###1或者2或者3

     [145]                ###1或者4或者5

     [^abc]|[!abc]         ###除了a并且除了b并且除了c

                      ###当前用户家目录

   spacer.gif

     username            ###指定的用户家目录

     +                 ###当前目录

    -                 ###当前目录之前所在目录

   spacer.gif

     .                   ###当前目录

     ..                  ###当前目录的上一级

 2》通过grep过滤字符串

    ^    grep –v  '^#' loveyu.txt 过滤掉以#行首的行,一般查看配置文件时会用到

    $    grep  -n '#$'  loveyu.txt 搜索以#结尾的行

    .    grep  -n 'e.e'  loveyu.txt 搜索的字符串可以是(eve),(eae),(eee),(ee)

    \    grep  -n  \'  loveyu.txt转义符,将特殊符号的特殊意义去除,搜索含有单引号(')的那一行;

 *    grep -n  'ess*'  loveyu.txt 重复0个或多个的前一个字符,找出含有(es)(ess)(esss)等的字符串,注意,因为(*)可以是0个,所以找出含有es,也是符合搜索的字符串。另外,因为(*)为重复“前一个字符”的符号,因此在(*)之前必须要仅接一个重复的字符,任意字符则为(*),grep  -n  'go\{2,3\}g'  loveyu.txt gg之间有2-3o存在的字符串即(goog)(gooog)

   [ ]    字符集合的重复特殊字符的符号

    1grep  -n  'g[ld]'      loveyu.txt搜索含有(gl)(gd)的那一行,特别   注意,在[]中“仅代表一个待搜索的字符”,

    2grep  -n '[0-9]'  loveyu.txt 搜索含有0-9的任意字符

   [^]    grep  -n  'oo[^t]'  loveyu.txt 搜索的字符串可以是(oog)(ood)但 不能是(oot)(^)[]内代表反向选择

    .*    匹配所有字符串

   ^.*    匹配以任意多个字符串开头的内容;