Linus常用命令一览

一、shell命令


  1. $ date 显示时间
  2. $ who 查看登陆系统的用户
    $ who am i 查看自己的信息
  3. $ echo 在终端机上显示键入在命令行的任何信息,会去掉单词中的空格
    例如:$echo this is test
    显示 this is test
  4. $ ls 列出文件清单
  5. $ cat (查看的文件名称) 显示文件内容
  6. $ wc (参数 -l 行数 -c 字符数 -w 单词数) (统计的文件名称) 统计文件中的行数,字符数,单词数
  7. $ cp (源文件) (目标文件) 复制命令
  8. $ mv (源文件) (目标文件) 文件重命名命令,也可以移动文件的位置
  9. $ rm 删除命令
  10. $ pwd 显示当前工作目录
  11. $ cd 改变当前工作目录
  12. $ mkdir 创建目录
  13. $ rmdir 删除目录(目录为空)
  14. $ rm 删除文件 加参数 -r 删除目录和目录中的文件
  15. 替换符合:* 替换为目录中的所以文件的文件名。单字替换符合:? 替换单字。[abc]替换 a 或 b 或 c 。[0-9] 匹配0-9的任意字符。如果 [ 后的字符是 !,表示反过来匹配,即可以匹配除方括号中所列字符以外的任何字符。
  16. ln:链接命令。(优点,减小系统占有,使文件同步)
    一般格式:ln from to 把文件from 和文件to 链接起来。
    连接的限制是必须位于同一个文件系统,连接后对于任何一个文件的改变都会影响的另一个文件,但是删除任何一个文件,另一个文件依然存在,不受删除的影响。(判断系统中有那些文件系统用 df 命令)不同的系统进行连接加参数 -s ,建立一个符合化连接。此连接与普通连接很相似,不同的是,删除源文件后,该符合连接就不起作用了。
  17. 输出的重新定向:命令的输出通常提交到标准输出设备,也可以很方便的转向一个文件来代替,这叫输出重新定向。
    命令:在把输出写入到标准输出的命令后加 > filename
    例如:$ who >filename
    > 符号为不覆盖原来的文件内容
    $ > filename ,前面没有命令时,shell会创建一个空的文件(长度为0个字符),如果文件已经存在,其内容会消失。
  18. 输入重定向:对应于输出的重新定向的就是输入重定向,命令符合是 <
    例如:$ wc -l < filename
  19. 管道:unix系统可以把两条命令的的效果连接起来,这种连接称作管道。
    例如:$ who | wc -l
    $ ls | wc -l
  20. 过滤器:指能够从标准输入接受输入,对输入进行处理后,把结果写入标准输出的任何程序。wc , cat ,sort 是过滤器,ls,who,date,cd,pwd,echo,rm,mv,cp都不是。
  21. 标准错误:unix把大部分错误信息都写的这里,标准错误默认也是终端。
    把错误输入到文件试用命令格式:命令 2> 文件
    例如:$ls n* 2> filename
  22. 一行键入多个命令,用;号分割
    例如:$ date ;pwd
  23. 命令发送到后台,在命令后加一个 & 号,该命令就发送到后台了。
    例如:$ date >> filename &
  24. ps命令:查看进程的命令,参数 -f查看父进程的命令
    例如:$ ps -f
  25. 正规表达式:%s/old/new/g 注:g是全部替换
    或 :%s/old/new
    全部替换:看vi说明ifconfig用root用户登陆查看本机的ip地址
  26. cut:从文件中剪出各种各样的数据 【cut -cdhars file】
  • cut -c5- data 把data文件中的每一行的第五个到行尾的字符剪出来,并把结果写入标准输出
  • who | cut -c1-8 剪出who的输出的每一行的第一个到第八个字符
  • who | cut -c1-8 | sort 剪出who的输出的每一行的第一个到第八个字符,并进行排序
  • cut -d: -f1 /etc/passwd 剪出/etc/passwd 中的以:开头的第一个字段
  • cut -d: -f1,6 /etc/passwd 剪出/etc/passwd 中的以:开头的第一个字段和第六个字段
  1. paste 把多个行合并起来,然后输出 【paste files】
    paste names numbers 将两个文件合并,然后输出
    paste -d'+' names numbers 将两个文件合并中间用+号连接,然后输出
    paste -s names 将一个文件所有行合并,然后输出ls | paste -d' ' -s - 把ls的输出用合并一行并用空格分开。
  2. sed 是用来编辑数据的程序,意思是流编辑器。sed不能用于交互。【sed command file】。
    sed 's/unix/UNIX/' intro 将unix改为UNIX
    sed不对原始文件进行更改,要保存更改,必须把sed的输出重定向到一个临时文件,然后把临时文件移回原来的文件。
    sed 's/unix/UNIX/' intro > temp
    mv temp intro
    sed -n '1,2p' intro 显示前两行
    sed -n '/unix/p' intro p命令前用斜扛括住字符串,sed只从标准输入中显示包含这些字符的行。
    sed '1,2d' intro 要删除正行,用d命令。删除1,2行
  3. grep:从一个或多个文件中搜索特定的字符串。【grep pattern files】
    grep shell ed.cmd 从ed.cmd中找出shell所在行
    grep '[A-Z]' list list中包含一个大写字母的行
    grep '[0-9]' list list中包含一个数字的行
    grep '[A-Z]...[0-9]' list list中包含以大写字母开头,数字结尾的5个字符组合的行
    grep '.pic$' filelist filelist中以.pic结尾的行
    grep -v 'unix' intro 显示不含unix的行
    grep -l 'move_history' *.c 列出包含'move_history' 变量的行
    grep -n 'move_history' *.c 列出包含'move_history' 变量的行,前面加行号。
  4. sort 输出进行排序
    sort -u names 输出中去掉重复的行
    sort -r names 反序排序
    sort names -o new_names 将结果输出到new_names中
    sort -n data 安算术方法排序
    sort +1n data 跳过第一个字段排序
  5. uniq查找连续的重复行。【uniq in_file out_file】
    sort names|uniq -d 显示重复的行

二、shell编程起步


  1. 要让文件可以执行,要改变文件的许可
      chmod +x nu 改变文件nu的许可,然后在当前目录下键入【./nu】即可执行
  2. 注释符合为#号
  3. 变量:以字母或下划线开头,后跟0个或若干个字母、数字、下划线字符。【variable=value】
    count=1 注意=号两边不能有空格,linux中没有数据类型的概念。
  4. 显示变量的值【echo $vairable】$符合不能掉了
    echo $count
  5. 空值:如果一个变量没有值,我们就说它含有空值,这是变量没有赋值时的默认值。
  6. 文件名替换和变量:shell先做变量替换,后做文件名替换。
  7. $(variable)结构
    假定把一个文件名存于变量filename中,要在文件名后加X
    mv $filename ${filename}X 给文件名后加X
  8. 内部的整数算术运算【$((espression))】
    例如:echo $((a=a+1)) 应为a没有赋值,所以结果是1,等价于a=0+1表达式中可以随意使用括号来强制分组,
    例如:echo $((i=(i+10)j))如果不想用echo或其他的什么命令而想直接给变量赋值,可以把赋值移到算术扩展前面
    例如:i=$((i
    5))判断表达式:result=$((i >= 0 && i<= 100)),为真是result=1,为假result=0。

你可能感兴趣的:(Linus常用命令一览)