shell处理命令

  • 1.shell会根据在命令中出现的空格字符,将命令划分为多个部分
  • 2.判断第一个字段是内部命令还是外部命令
内部命令:内置于shell的命令(shell builtin)
外部命令:通过安装其他应用程序或服务而安装来的命令

路径:为了查找或定位某个文件所必需经过的目录的层次结构
相对路径:从工作目录开始查找的路径
. 当前的工作目录
.. 当前的工作目录的父目录
根的父目录还是根
绝对路径:从根(/)开始查找的路径

变量:内存空间
变量值:存放在内存空间中的数据
空变量:NULL
环境变量PATH(路径),绝对路径:PATH=PATH1:PATH2:PATH3:...
  • 3.判断其他的字段是选项还是参数,判断正确与否,如果正确就执行,如果错误就返回错误信息
  • 4.在命令书写过程中按回车键将书写的内容提交给shell执行
  • 5.如果想要在提交shell之前取消命令就用ctrl+C

 

二、文件查看,操作

帮助类
man,help,info,whereis,which,whatis
目录操作类
ls,pwd,cd,mkdir,rmdir
文件操作类
nano,touch,rm,cp,mv,stat
文件查看类
cat,tac,head,tail,less,more
文本处理
cut,sort,uniq,tr,sed,awk

1、查看

  • ls-->list
列表显示目录的内容
用法:

ls [OPTION]... [FILE]...
[]:可选的内容
{}:必选的内容
|:多选一

默认的参数就是工作目录

选项:

-l: 长格式输出
-rw-------. 1 root root 1211 May 11 06:03 anaconda-ks.cfg

第一位表示文件的类型:
-:表示普通文件(f,file)
b:表示块设备文件(block)
c:字符设备文件(charact)
d:目录文件
l:符号链接文件(symbol link)
p:管道文件(pipe)
s:套接字文件(socket)
第二到第十位:文件的权限位,三组权限位,每组包括三个权限字符,rwx,读写执行。若没有权限就使用-代替
第二段的数字1:表示文件被硬链接的次数
第三段:文件的所有者,root
第四段:文件见的所属组,root
第五段:文件的大小,默认以byte为单位进行显示
第六段:时间戳(访问时间,修改时间,改变时间)
访问时间:access timestamp
修改时间:modified timestamp(改的是数据内容,对数据的内容进行编辑,叫修改)    
改变时间:change timestamp(metadata,元数据,对元数据的编辑叫改变)
第七段:文件名
在linux中,以.字符作为文件名第一个字符的文件,就是隐藏文件

-a: 显示所有文件,包括隐藏文件

-A: 显示所有文件,包括隐藏文件,但不包括.和..

-h: 以人类方便读的方式显示

-d: 以文件夹的属性代替内部子文件的属性输出

-r: 倒序显示

-R: 递归显示(recursive)

-Z: 显示文件安全上下文

 

  • cat 
查看文件
-n:给所有行编号 -b: 不对空白行编号
tac cat的倒序显示

 

  • head
从头开始查看,默认前十行 
head -n 3 :查看前三行 还可以直接写成 head -3
head -c 50:查看50字节
head -c 1b:查看一个扇区512字节的内容

 

  • tail
从结尾开始查看。选项类比head
-f :实时监控的文件末尾的内容变化

 

  • more
分页显示文件内容 只能往后看

 

  • less
  • whereis
显示命令的二进制文件,帮助手册路径

 

  • which
查看文件在哪,只显示二进制文件路径

 

  • whatis
只显示帮助手册路径

 

  • stat
查看文件属性(访问时间,修改时间,改变时间)

 

  

 

2、目录操作

  • pwd

显示工作目录(绝对路径)默认的工作目录是/root,root用户的家(宿主目录),默认用户登录的第一个目录就是宿主目录

 

  • cd

切换工作目录
如果没有参数,那么默认的参数是用户的宿主目录
cd ~ :切换到宿主目录
cd - :切换到上一次使用的工作目录

 

  • mkdir

创建目录

mkdir [OPTION]... DIRECTORY...
选项: -p :在创建子目录之前,先创建父母录
-v :显示创建文件夹详细的过程
命令展开功能,使用{},中间用逗号分隔

 

  • rmdir

删除目录(只能删除空目录)若一个目录只有.和..,那么就认为这个目录为空
rmdir [OPTION]... DIRECTORY...

 

  • rm

移除

rm [OPTION]... FILE...
选项:-r:可以删除目录
-f:强制删除

 

  • type

区分命令为内部命令还是外部命令

获得帮助
内部命令:help 内部命令
外部命令:
man 外部命令 
info
--help

 

3、文件编辑

 

  • echo

-n:不输出换行符号
-e:使得反斜杠生效

  • nano
文本编辑工具,增强版的pico
^:脱字符
1.一般在编辑模式中相当于ctrl键
2.在其他的用途中,有不同的意义,如:可以取反,可以表示行首
默认有换行符,一个换行符相当于一个字节
ctrl+o保存
ctrl+x退出

 

  • touch

改变文件的时间戳。当文件不存在时,会创建文件
-a:只修改文件的访问时间
-m:只修改文件的修改时间
-c:不创建文件

 

4、时间命令

  • clock

硬件时间

  • date

系统时间

设置时间:
1.date 月日时分年.秒
date 091703282015
Thu Sep 17 03:28:00 CST 2015
2.date -s ”年/月/日 时:分:秒”
date -s "2015/09/17 15:32:11"
Thu Sep 17 15:32:11 CST 2015
3.date +%Y

 

  • hwclock
RTC:实时时钟
-s 把硬件时间同步到系统时间
-w 把系统时间同步到硬件时间

touch的时间默认来源于系统时间

 

  • bc  计算器
  • cal:日历

 

5、文本处理

  • cut
remove sections from each line of files
-d 指明分隔符号,默认空格
-f 指明操作区域 -f 1 第一列
eg:cut -d : -f 1 /etc/passwd
cut -d : -f 7 /etc/passwd | sort | uniq -c

 

  • sort
sort lines of text files 排序,默认顺序ASCII编码
-n : 按数字大小排列,从小到大
-r : 倒序
-t : 指明分隔符号
-k : 指明操作区域
-u : 如果存在多个重复的内容则显示为一行,相当于uniq命令

sort -n -t : -k 3 /etc/passwd

 

  • uniq
类似于 sort -u
-c :统计连续的重复行的数量
-u :只输出唯一的行,(不连续重复出现的)

 

  • tr
字符集转换
tr ab AB < /etc/passwd 对位替换

 

  • wc
字计数器
wc - print newline, word, and byte counts for each file
-l 只显示行数
-w 只显示字数
-c 只显示字符数
wc /etc/passwd
30 54 1427 /etc/passwd

猜你喜欢

转载自blog.csdn.net/fujibao/article/details/79810559
今日推荐