Linux学习笔记——shell及shell命令

一、基本命令语法

1.快捷键

  • 1)tab自动补齐
  • 2)反斜杠“\”:强制换行
  • 3)Ctrl+U:清空至行首
  • 4)Ctrl+K:清空至行尾
  • 5)Ctrl+L:清屏
  • 6)Ctrl+C:取消本次命令编辑
  • 7)Ctrl+D:结束,eof
  • 8)Home:跳到行首
  • 9)End:跳到行尾

2.同行多命令的排列:

  • 1)分号
  • ls -l ; cd \      先执行第一个命令,不管是否正确执行第二个
  • 2)&&
  • ls -l && cd \  只有当第一个命令执行完毕后,执行第二个命令

3.设置别名

alias [别名]=[需要定义别名的命令]

如: alias ll='ls -al'

注意:

  •              1)等号两端不能空格,字符串最好加引号
  •              2)浏览别名 :$ alias
  •              3)取消别名:$ unalias 命令
  •              4)每次取的别名只在该次登录期间有效,若需每次都有效,需将alias命令写到初始化脚本文件中

4.输出重定向

> 、>>

如:ls > my.txt

浏览当前目录的信息,但是结果不再输出到终端显示,而是保存到了my.txt文件中

> 和>>的区别:

>会覆盖文件原内容,>>则是在原内容后追加

可利用重定向快速建立文件:

echo "hello" >testfile

屏蔽命令的任何输出

cp /etc/my.conf  >/dev/null  2>&1

  这是一个没有实际意义的错误命令,只演示一个没有任何信息或错误提示输出的命令执行。

  1. cp命令没有目标文件,应该输出错误。
  2. 2>&1表示错误重定向指向标准输出。
  3. >/dev/null又使标准输出重定向到空设备,最后就是没有任何输出信息

5.管道符 “|”

前一个的结果作为后一个命令的输入:

如:  ls | head -5

浏览当前目录下的文件信息,但只显示前五条

二、Shell命令分类及常用命令:

Linux学习笔记——shell及shell命令_第1张图片

Shell命令格式:

命令 -[选项] -[参数]

如   tar  -zxvf  a.gz

-z 说明是解压.gz类型文件

-x 说明是解压操作

-v 显示详细信息

-f 必须,表示使用归档文件

帮助及其他命令:

  1. --help
  2. man命令
  3. info命令

1.常用命令:

(1)文件管理:

目录操作: ls浏览目录,mkdir创建目录,rmdir删除目录,pwd显示当前目录,cd进入目录

文件操作:cp复制文件,mv移动文件或重命名文件,rm删除文件

                    touch新建文件,ln建文件链接

                    cat查看文件内容,more向后翻页,less前后翻页

                    部分输出文件内容:cut、head

                    查找文件:find、locate

                                        grep:按文件内容与指定的字符串匹配查找文件,涉及正则表达式

                     chmod设置文件权限

(2)进程管理:

查看进程状态:ps、top

进程控制: kill、bg:将一个在后台暂停的命令,变成继续执行

                             fg:将后台中的命令调至前台继续运行

(3)用户管理:

passwd设置密码、who查询当前登录用户

useradd添加用户、usermod修改用户、userdel删除用户

groupadd添加组、groupmod修改组、groupdel删除组

su +用户名 切换身份,sudo切换root身份

(4)磁盘管理:

fdisk、mount挂载磁盘

df、du查看磁盘空间

(5)网络管理:

ifconfig查看配置信息

ping、traceroute(路由跟踪)、netstat(列出连接状态)、arp、ftp

 

文件名有空格的情况如何应对:

1)用引号: cp "1 file" file2

2)用转义符:cp 1\ file file3

 

ls命令参数:

1)ls -l :以长格式列出文件,包括文件大小,日期,属性等

2)ls -a :显示目录中的所有文件,包括隐藏文件

3)ls -A:显示所有文件,但不现实.和..

4)ls -d:列出目录的信息而不是目录的内容,常是-ld一起用

 

wc命令:

-c:字节

-w:word

-l:line

统计当前目录下的文件数和目录数:

ls -l | grep "^-"|wc -l

ls -l | grep "^d"|wc -l

 

2.文件链接——ln

ln有两种类型

硬链接(默认):原文件和连接文件的FCB记录了相同的incode地址

                            注意: 建立硬链接时,链接文件和被链接文件必须位于同一个文件系统中,并且不能建立指向目录的硬链接

符号链接:相当于Windows下的快捷方式,包含所链接文件的路径,可链接不同文件系统的文件,甚至可以链接不存在的文件,                       网络文件

Linux学习笔记——shell及shell命令_第2张图片

一个目录至少有2个硬链接:目录本身的相对目录“.”,以及作为其子目录的父目录“..”都指向它。所以,如果目录下新建一个子目录,硬链接数为3

3.流输出

1)cat 常用来显示文件的内容,如:cat /etc/passwd

2)more 显示文件内容,每次显示一屏,常与其他命令结合使用:如  ls --help |more   按回车向后移动一行,按空格向后移动一页

3)less  与more相似,但浏览文本时允许翻页来回看。

4)cut   截断显示文件中的内容

            如:(1)显示每行从开头算起n1到n2的文字

                             cut  -c  n1-n2  file(文件名)

                     (2)以空格为分隔符,显示第二个字段

                             cut  -f  2  -d  " " file(文件名)

5)echo

     将单行文本输出到标准输出设备,常用于shell脚本查看变量的值

     export a=5

     echo $a    或者   echo  ${a}

6)sort 

    对文件内容进行排序显示:

    如 :cat /etc/passwd  sort -t  ':'  -k3 -nr /etc/passwd

参数说明:

  •    -t 分隔符:使用分隔符隔开不同区块,默认是tab
  • start  -end:由第start区块排序到end区块
  • n:使用纯数字排序(默认是以字母方式排序)
  • r:反向排序
  • u:相同出现的一行,只列出一次
  • -k:按那个字段来进行排序

7)uniq

    删除相邻重复的行从而只显示一个,一般与sort配合使用

8)head

   参数说明:

   -c N  指定输出的字节个数

   -n N  制定输出的行数

9)diff 

   比较两个文件并输出比较结果,比较目录时,将目录包含的文件名作为目录的内容进行比较

   diff  [选项参数]  文件1 文件2

文件基本操作

mv  :移动文件或者重命名文件  (-i  执行前先询问用户)

rm命令:删除文件

         参数:

          -i:删除前先询问用户

         -f:强制删除

         -r:递归处理,将指定目录下的所有文件及其子目录一并处理

         -v:删除时显示详细信息

 

文件搜索find:

find -参数  【目录列表】 【匹配标准】

-name  文件名:指定要查找的文件

-user   用户名:指定用户

-size  +(-) 大于或小于指定大小的文件,缺省单位为b

-type x(x=d,l,f) 类型的文件

-exec :对find的结果执行命令,末尾一定要加转义字符\和分号,代表结束

如:查找/etc目录下小于2500字节的文件

       find /etc -size -2500c

      查找/home目录下zls用户的文件名是CP字母开头的文件

      find /home -user  zls  -name "CP*"

      查找文件名字里包含bashrc的配置文件

      find / -name "*bashrc" -type f 2>err

     查找以CP开头的文件,将其和其子目录一起删除

     find . -name "CP*"  -exec rm -rf  {}  \;

文件内容搜索——grep

如:

搜索在/etc/passwd 中 "/sbin/nologin"出现的行,找出系统中不允许登陆的用户

grep  /sbin/nologin  /etc/passwd      注意:条件写在文件名前面

搜索在文件/root/initial-setup-ks.cfg中查找到所有包含字符串boot的行,并将其顺序拷贝到/root/lines文件中

grep "boot"  /root/initial-setup-ks.cfg  >root/lines

与cat结合使用

查看my.txt中包含hello的内容

cat my.txt |grep hello

总结:grep的匹配条件若是精确查找则不加“”,若是模糊查找则加“”

 

压缩包管理:

压缩:tar -cvzf  var.gz  /var

解压:tar -xvzf  var.gz

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(Linux学习笔记——shell及shell命令)