SHELL命令详解

shell分类
shell 分为内部命令 和外部命令,一般先执行内部命令,再执行外部命令。

内部命令    外部命令
集成于Shell解释器程序内部的一些特殊指令,也称为内建(Built-in)指令    Linux系统中能够完成特定功能的脚本文件或二进制程序
属于Shell的一部分    属于Shell解释器程序之外的命令
没有单独对应的系统文件    每个外部命令对应了一个系统文件
自动载入内存,可以直接使用    必须知道其位置,必须有shell加载才能执行
编辑shell命令的辅助操作
快捷键    功能
Tab 键    自动补齐(两次可以显示所有选项)
反斜杠“\”    强制换行或转义
Ctrl+a    光标移到最前
Ctrl+e    光标移到最后
Ctrl+U    清空至行首不包括当前光标处的 字符
Ctrl+K    清空至行尾包括当前光标处的字符
Ctrl+w    从当前光标删除开头
ALT+d    从当前光标删除末尾
Ctrl+l    清屏  或者clear
Ctrl+c    取消本次命令编辑
Ctrl+s/Ctrl+q    锁屏/解锁
向上下箭头    回看执行过的命令
命令详解
一:获得帮助的命令
1) help  命令         查看内部命令

2)命令 --help        查看外部命令

3)man 命令       帮助手册

4) info 命令      也可以查看

二:查看,切换,显示,统计 目录或文件
2.1 pwd(print work directory) 打印当前目录

2.2 cd(change directory)切换目录
命令格式: cd 目标位置

cd 或 cd ~    若不指定目标位置,切换到当前用户的宿主目录(家目录)
cd -    到前一次目录
一个点号“.”开头    表示以当前的工作目录作为起点
两个点号“..”开头    表示以当前目录的上一级目录(父目录)作为起点
“~用户名”形式开头    表示以指定用户的宿主目录(家目录)作为起点
"."开头文件    表示隐藏文件
2.3 ls (list) 列出目录/文件的详细属性信息
命令格式:

ls [选项] [文件或目录… ]

2.32通配符    (去匹配文件名) 

 

 

 2.4 alias 别名命令
    临时修改(关机或退出终端会自动消失)

命令格式

alias 命令别名 = '命令'    (等号前后不能有空格)
unalias 别名命令        删除别名
\加别名命令     (显示原始命令,当命令别名和系统命令冲突时,要调用原始命令)

 

2.5  du (disk usage) 统计目录或文件所占磁盘空间大小的命令

命令格式:      du [选项] [文件或目录… ]

 

2.6  查看硬件信息及其他系统信息 

 

三:Linux目录和文件管理:mkdir、touch、cp、mv、rm
3.1创建  
3.11 mkdir 创建文件夹
mkdir [选项] 目录位置及名称…

-p 递归创建多层目录,当上级目录不存在时,会按目录层级自动创建目录

[root@localhost opt]# mkdir a b 1 2     //创建多个目录
[root@localhost opt]# ls
a  b  1  2
[root@localhost opt]# mkdir -p aaa/bbb/cccc   //递归创建目录
[root@localhost opt]# ls
a  aaa  b  1  2

3.12 创建文件 touch
touch命令格式:

touch 文件名称
touch 文件若已存在,不会破坏已有文件,会更新时间

每个文件有三个时间戳:

access time 访问时间,atime,读取文件内容
modify time 修改时间,mtime,改变文件内容(数据)
change time 改变时间,ctime,元数据发生改变(文件大小、权限等属性)

 3.13创建链接文件 ln
   1) 硬链接

 硬链接(hard link, 也称链接 )就是一个文件的一个或多个文件名, 把文件名和计算机文件系统使用的节点号链接起来。

注意点

硬链接只能对已存在的文件进行创建 。
不支持给目录创建硬链接;
不支持跨分区创建硬链接。
硬链接文件不占用存储空间。
修改源文件或者目标文件,对应另外一个文件也会发生相应修改。
删除源文件或者目标文件,对另外一个文件没有影响。

2) 软链接
软链接又叫符号链接,这个文件包含了另一个文件的路径名。 可以是任意文件或目录,可以链接不同文件系统的文件。

注意点

可对不存在的文件或目录创建软链接,可交叉文件系统。
删除源文件无法访问,再新建同名文件后依然可以访问

ln命令格式:

ln 源文件 目标文件:创建硬链接文件
ln -s 源文件 目标文件:创建软连接文件
 

3.2 复制文件或文件夹
cp命令格式:

cp [选项]… 源文件 目标 相当改名复制
cp [选项]... 源文件... 目录 多个源文件只能复制到文件夹
[root@localhost ky27]# cp 0.tex /opt/abc.tex    

#复制当前目录中的0.tex文件到opt文件下,并改名为abc.tex
[root@localhost ky27]# cd ..
[root@localhost opt]# ls
aaa.tex  abc.tex  httpd-2.4.29.tar.bz2    ky27  ky28  ky2828.tar.gzip  ky29
[root@localhost opt]# 

[root@localhost ky27]# cp 0.tex /opt/    #复制当前目录中的0.tex文件到opt文件下  名字不改

[root@localhost ky27]# cp 0.tex 1.tex /opt/        #复制当前目录下面的两个文件到opt目录下
[root@localhost ky27]# cd ..
[root@localhost opt]# ls
0.tex  1.tex  aaa.tex  abc.tex    httpd-2.4.29.tar.bz2  ky27  ky28  ky2828.tar.gzip  ky29
[root@localhost opt]# 
 

选项说明

3.3 移动mv

mv命令格式:

mv [选项] … 源文件或目录… 目标文件或目录

[root@localhost opt]# mv bbb aaa      //将目录bbb改名为aaa
[root@localhost opt]# mv aaa /opt/ky27     //将目录aaa移动到/opt/ky27目录下

3.4 删除rm
rm [选项] 要删除的文件或目录

 

四:Linux查找和压缩文件:find、which、whereis、tar
4.1 find
命令的特点:

1精确查找
2实时查找
3支持查找条件很多
4各表达式之间使用逻辑运算符, “-a”表示而且(and),“-o”表示 或者(or)

格式

find [查找路径] [OPTION1] [查找条件1] [OPTION2] [查找条件2]...... [处理动作]

 

 -size 10k :表示9k到10k,包括10k、不包括9k,即(9,10]。
-size -10k :表示9k以内,包括9k,即 [0,9]。
-size +10k :表示10k以上,不包括10k,即(10,+∞)。
find -size 1G:查找的是从0G到1G,不包括0G,即(0,1]。
find -size 2G:查找的是从1G到2G,不包括1G,即(1,2]。
find -size 1024M:查找的是从1023M到1024M,不包括1023M,即(1023,1024]

 

 

找到文件并删除的三种方式

 find -name "*.img" -delete          

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

find -name "*.img" | xargs rm -rf

4.2 which
which 用来查看命令的位置。 在PATH变量指定的路径中,搜索某个系统命令的位置 

which 命令/程序名

4.3 whereis
whereis 用来查找命令的具体位置。可以查看到二进制文件(参数-b)、man说明文件(参数-m)和源代码文件(参数-s)。如果省略参数,则返回所有信息

4.4 压缩文件  gzip和bzip2
相同点:
只能压缩文件 , 不能压缩目录
默认压缩后会删除源文件。(bzip2可以使用-k保留源文件)

区别:
gzip比bzip2的压缩速度快,而bzip2的压缩率高于gzip。

压缩:
gzip  [-9]  文件名…
bzip2 [-9]  文件名...
-1~9 指定压缩级别, 数字越大压缩级别越高 。-1最快压缩,-9最大压缩 。

解压缩:
gzip -d .gz格式的压缩文件;
bzip2 -d .bz2格式的压缩文件

4.5 归档tar 文件夹
命令格式:

tar [选项] ... 归档文件名(压缩包名字) 源文件或目录 tar [选项] ... 归档文件名 [-C 目标目录]

-c:创建(Create).tar 格式的包文件
-x:解开.tar 格式的包文件
-C:解压时指定释放的目标文件夹 指定目录
-f:表示使用归档文件(一般都要带上表示使用tar)
-v:输出详细信息(Verbose)
-t:列出归档内容
-j:调用 bzip2 程序进行压缩或解压
-z:调用 gzip 程序进行压缩或解压
[root@localhost opt]# tar -zcvf vm.tar.gz f1 f2 f3    

 //将三个文件归档后调用gzip程序压缩成vm.tar.gz

[root@localhost opt]# tar -zxvf vm.tar.gz -C /opt  

  //将vm.tar.gz文件解压缩到/opt目录下

五:查看文件内容命令:cat、more、less、head、tail、grep、wc
5.1 cat命令
cat( 英文全拼:concatenate )命令的用途是连接文件或标准输入并打印。这个命令常用来显示文件内容,或者将几个文件连接起来显示,或者从标准输入读取内容并显示,它常与重定向符号配合使用。

格式:  cat [选项] 文件名

 

[root@localhost ky27]# cat /etc/centos-release   //查看系统内核版本
[root@localhost ky27]# cat /proc/version        //查看系统内核版本

tar  倒叙显示

5.2 分页查看文件内容——more命令
more [选项] 文件名

5.3 分页查看文件内容——less命令
less [选项] 文件名

5.4 查看头部和尾部内容——head/tail命令
命令格式:

head -n <行数> 文件名 (不加行数默认开头十行)

tail -n<行数> 文件名 (不加行数默认结尾十行)

tail -f 文件名:实时跟踪最后十行

 

通过管道符,head和tail结合使用

[root@localhost ~]# ifconfig |head -2|tail -1   //只看第二行

 5.5  检索、过滤文件内容——grep命令
grep(global regular expression print,全局正则表达式输出),用于查找文件里符合条件的字符串。

grep [选项]… 查找条件 目标文件

 

基本格式

  • 要查找的字符串以双引号括起来,单引号也可以
  • “^……”表示以……开头,“……$”表示以……结尾
  • “^$”表示空行

5.6 统计文件WC

统计列数,wc本身就是参数

  • -l:统计行数
  • -w:统计单词个数
  • -c:统计字节数

 

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值