常用的Shell命令
一.Shell
Linux系统中运行的一种特殊程序
在用户和内核之间充当“翻译官”
用户登录Linux系统时,自动加载一个Shell程序
Bash是Linux系统中默认使用的Shell程序
1.Linux命令的分类
内部命令与外部命令的区别:
内部命令:(集成属于shell) 属于shell的一部分,没由独立的系统文件,会随着shell自动加载到内存,可以直接使用
外部命令:属于shell之外的,就是一个二进制文件或者脚本文件;每个外部命令都要有一个系统文件,且需要让shell知道文件位置(要把外部命令文件放到指定的目录中让shell加载)
查看内部命令:
enable //查看内部操作
help
type <命令>
enable -n<命令字> //禁用内部命令
enable <命令字> //启用内部命令
2.Linux命令行的格式
通用的命令行使用格式:
命令字/(操作) 【选项】/(功能) 【参数】/要执行的对象 英文字符区分大小写
命令字:
- 是整条命令中最关键的一部分
- 唯一确定一条命令
选项: - 短格式选项:使用“-”符号引导 多个多拿字符选项可以组合在一起使用 -a -b -1 -2 -ab
- 长格式选项:使用“–”符号引导 --(完整的单词)/–delete
参数: - 命令字的处理对象
- 可以是文件名,目录(路径)名或用户名等内容
- 个数可以是零到多个
3.编辑Linux命令行:
编辑Linux命令行的辅助操作:
Tab键: //自动补齐
反斜杠“\”: //强制换行
Ctrl+U组合键: //清空至行首
Ctrl+K组合键: //清空至行尾
Ctrl+L组合键: //清屏
Ctrl+C组合键: //取消本次命令编辑
Ctrl+a组合键: //切换到行首
Ctrl+e组合键: //切换到行尾
4.Linux文件类型
在Linux系统下,一切皆文件。文件又可以分为普通文件和特殊文件,普通文件包括可执行文件、txt文档、html网页等等。而特殊文件又可以进行以下细分:
1、(d):目录文件。 即文件夹,目录。
2、(l):链接文件。 在这里专门指软连接。
3、(b):块设备文件。 指机械硬盘。
4、(c):字符设备文件。 指虚拟终端
5、(p):管道文件。 常用于分管符。
6、(s):安全套接字文件。 用于监听端口时使用。
第一列含义如下:
d表示目录文件,l表示链接文件,b表示块设备文件,c表示字符设备文件,p表示管道文件,s表示安全套接字文件。
Linux对文件权限:
分为读、写执行三种,也可以简称为r、w、x。
第一列后面的9个字符,三个一组,就分别代表了文件属主、文件属主的同组用户和其他用户的读、写和执行权限。
例如上图所示;第一个文件夹权限为:rwxr-xr-x
即代表了该文件属主权限为读、写和执行,文件属主的同组用户的权限为读和执行,其他用户的权限为读和执行。
获得命令的帮助方法:
- 内部命令help
查看Shell内部命令的帮助信息 - 命令的“-help”选项
适用与大多数Linux外部命令
使用man命令阅读手册:
使用“↑” “↓”(ENTER)方向键滚动一行文本
使用Page Up和Page Down(空格)键翻页
按Q或q键退出阅读环境
按“/”键查找内容,n键向下查找,N键向上查找
切换工作目录-cd
将用户的工作目录更换到其他位置
pwd当前所在目录的绝对路径
绝对路径:以根目录/为起点的路径
相对路径: ./文件 以点给钱目录为起点的文件路径
…/文件 以当前目录的父目录为起点的文件路径
~/文件 以当前用户的家目录为起点的文件路径
~用户名/文件
[root@192 ~]# pwd
/root //当前工作目录是root
[root@192 ~]#
列表显示目录内容-ls
显示目录中内容,包括子目录和文件相关属性信息
ls【选项】 【文件或目录】
常用选项:
-l: //以长格式(Long)显示文件和目录的列表,包括权限、大小、最后更新时间等详细信息。11命今与1;-1功能相同。
-a: //显示所有 (A11) 子目录和文件的信息,包括名称以点号"。“开头的隐藏目录和隐藏文件an
-A: //与-a 选项的作用基本类似,但有两个特殊隐藏目录不会显示,即表示当前目录的”。“和表示父目录的”…"。
-d: //显示目录 (Directory) 本身的属性,而不是显示目录中的内容。
-h: //以更人性化(Hoan)的方式显示目录或文件的大小,默认的大小单位为字节(B),使用-h选项后将显示为KB、B 等单位。此选项需要结合-1 选项一起使用。
-R: //以递归 (Recursive) 的方式显示指定目录及其子目录中的所有内容。–color: 在字符模式中以颜色区分不同的文件。默认已开启通常情况下,深蓝色表示目录,白色表示一般文件,绿色表示可执行的文件,黄色表示设备文件,红色表示压缩文件。
-i: //显示文件和目录的inode号。
-t: //以时间排序,最新的文件会排在上面。
-r: //表示反向排序、倒序输出。
[root@192 ~]# ls -i //长格式显示文件和目录列表
35525293 123.txt.bz2 35525296 ifcfg-ens33 51838107 公共 18301347 下载
35400959 ab123.txt 35525295 ifcfq-ens33 35483145 模板 18301348 音乐
74126 abc 33574995 initial-setup-ks.cfg 51838108 视频 78712 桌面
35525290 abc.txt 35525281 ky28.tar.gz 35483146 图片
33574983 anaconda-ks.cfg 35525292 root.tar.gz 78713 文档
[root@192 ~]# ls -a //“.”号开头的隐藏目录和传输文件
. abc.txt .bashrc .esd_auth ky28.tar.gz 公共 下载
.. anaconda-ks.cfg .cache .ICEauthority .local 模板 音乐
123.txt.bz2 .bash_history .config ifcfg-ens33 root.tar.gz 视频 桌面
ab123.txt .bash_logout .cshrc ifcfq-ens33 .tcshrc 图片
abc .bash_profile .dbus initial-setup-ks.cfg .Xauthority 文档
[root@192 ~]# ls -A //与-a作用相似但又隐藏目录不显示
123.txt.bz2 anaconda-ks.cfg .bashrc .dbus ifcfq-ens33 root.tar.gz 模板 下载
ab123.txt .bash_history .cache .esd_auth initial-setup-ks.cfg .tcshrc 视频 音乐
abc .bash_logout .config .ICEauthority ky28.tar.gz .Xauthority 图片 桌面
abc.txt .bash_profile .cshrc ifcfg-ens33 .local 公共 文档
[root@192 ~]# ls -d //本身文件是隐藏目录
.
ls -l和ls -lh单位大小的变化
结合通配符:
- “?”代表任意一个字符,有且一个字符
- "*"代表任意数个字符
- "【】"表示可以匹配字符组中的任意字符
设置别名-alias
通过别名机制简化常用的,比较长的命令
alias 命令别名=‘命令’
alias myls=‘ls-alh’
取消别名
unalias 命名别名
创建空文件-touch命令
- 更新文件的时间标记
- 经常用于创建多个新的文件
touch{1,2,3},txt
touch 1.txt2.txt3.txt
创建链接文件-ln
为文件或者目录建立链接文件,类似于windows系统的快捷方式
链接文件类型:
ln-【s】源文件或目录…链接文件或目标位置
复制文件或目录-cp
将需要复制的文件或目录(源)重建一份,并保存为新的文件或目录
cp 【选项】… 源文件或目录 … 目标文件或这目录
常用选项:
f, //覆盖目标同名文件或目录不进行提醒,之间强制复制
-i, //覆盖目标同名文件或目录提醒用户确认
-p, //复制时保持源文件的权限,属主及时间标记等属性不变
-r, //复制目录时必须使用此选项,表示递归复制所有文件及子项目
注:复制多个文件或目录时,目标位置必须是目录,且目标目录必须已存在。
删除文件或目录-rm
删除指定的文件或者目录
rm【选项】要删除的
常用选项:
-f,-i,-r
查看命令文件存放目录-which
搜索范围由环境变量PATH决定(echo$PATH)
which 命令|程序名 //默认当找到第一个目标后不再继续查找
或
which -a 命令|程序名 //在所有搜索路径中查找
which ls
which history
使用which查找内部命令时,将找不到对应的程序
在linux要查找某个文件,但不知道放在哪里了,可以使用下面的命令来搜索:
- which查看可执行文件的位置
- whereis查看文件的位置
- locate配合数据库查看文件位置
- find实际搜寻硬盘查询文件名称