SHELL命令详解
shell分类shell 分为内部命令 和外部命令,一般先执行内部命令,再执行外部命令。内部命令外部命令集成于Shell解释器程序内部的一些特殊指令,也称为内建(Built-in)指令Linux系统中能够完成特定功能的脚本文件或二进制程序属于Shell的一部分属于Shell解释器程序之外的命令没有单独对应的系统文件每个外部命令对应了一个系统文件自动载入内存,可以直接使用必须知道其位置,必须有she
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)