关于Linux
什么是Shell
- Linux系统中运行的一种特殊程序
- 在用户和内核之间充当“翻译官”
- 用户登录Linux系统时,自动加载一个Shell程序
- Bash时Linux系统中默认使用的Shell程序
-
Shell是个特殊程序,提供了用户和内核进行交互的翻译官(解释命令),将指令传给内核,然后内核去调用硬件。当用户登录Linux时,会在bin/bash文件中加载一个使用Shell的程序。
Linux命令基础
内部命令和外部命令的区别
外部命令就相当于开启一个进程,需要调用对应文件
-
内部命令(内部指令被构建在shell中,会自动载入内存,当执行shell命令时,内部命令的执行速度非常快。)
-
外部命令(外部指令没有构建在shell中,这些可执行的外部命令是保存在一个独立的文件当中,当一个外部命令被执行时,必须知道其对应的位置,由shell加载后才能执行。)
-
外部指令存放在echo $PATH中一个一个找,找到为止,找不到就报无指令。
- 外部指令指令使用过后会被记录在内存中(缓存,但是会临时性的占用内存)加快读取速度。
-
Linux命令行的格式
命令字 【选项]】 【参数】
-
命令字
是整条命令中最关键的一部分
唯一确定一条指令
选项短格式选项:使用“-”符号指引
长格式选项:使用“- -”符号指引
“-”单个字符(多个单个字符选项可以组合在一起使用);“- -”一个单词参数
命令字的处理对象
可以是文件名、目录(路径)名或用户名等内容
个数可以时零到多个
编辑Linux命令行的辅助操作Linux命令帮助
内部命令help查看Shell
- 内部命令的帮助信息(内部命令时,help在主命令前)
-
- 命令的“- - help”选项
适用于大多数Linux外部命令
- 使用man命令阅读手册页
- 使用“↑”、“↓”方向键滚动一行文本
- 使用Page Up和Page Down键翻页
- 按Q或q键退出阅读环境
- 按“\”键查找内容
目录与文件基本操作
- 显示用户当前所在的工作目录位置:pwd
- 切换工作目录:cd(相对路径、绝对路径)
-
绝对路劲和相对路径
- 绝对路径:绝对路径是指目录下的绝对位置,直接到达目标位置,通常是从盘符开始的路径。(以根\开头往后的都是绝对路劲)
- 相对路径:相对路径就是指由这个文件所在的路径引起的跟去他文件(或文件夹)的路径关系。(非\开头都是相对路径)
-
列表显示目录内容:-ls
- 显示目录中内容,包括子目录和文件相关属性信息
ls 【选项】 【文件或目录】
操作 功能 要执行对象 - 常用选项
-l、-a、-A、-d、-h、-R、- -color
- 显示目录中内容,包括子目录和文件相关属性信息
-
- 结合通配符
“?”:匹配文件名中的一个未知字符
“ * ”:匹配文件名中的任意多个字符 -
扩充
-
常用命令
设置别名 -alias
- 通过别名机制简化常用的、比较长的命令
alias 命令别名 = 命令
- 通过别名机制简化常用的、比较长的命令
-
示例
设置myls为ls -alh的别名:alias myls=‘ls -alh’
设置网卡别名为mynw:alias mynw=‘vim /etc/syscomfig/network-scripts/ifcfg-ens33’给命令设置别名alias
-
注意:在定义别名时,等号两边不能有空格,否则shell不能决定需要做什么。
删除别名:unalias ll
-
永久生效:vim /root/ .bashrc
修改:- 在/etc/bashrc 会影响全部
- /root/.bashrc只会影响当前用户 -
统计目录及文件空间占用情况 -du
- 统计指定目录(或文件)所占用磁盘空间大小
du 【选项】 【文件或目录…】 - 常用选项
-
示例:
统计出/var/log目录所占用空间的大小:du -sh/var/log/ -
创建新目录-mkdir
- 创建新的空目录
mkdir 【选项】 目录位置及名称
-p:一次性创建嵌套的多层目录 -
示例
- 在当前目录下创建名为public_html的子目录
-
创建目录/aa,在/aa目录下创建子目录bb,在/aa/bb目录下创建子目录cc
-
-
创建空文件-touch命令
-
更新文件的时间标记
-
经常用于创建多个新的空文件
touch 文件… -
创建两个空文件,文件名分别为aa和bb
-
创建链接文件-ln
-
为文件或目录建立链接文件,类似于Windows系统的快捷方式
-
链接文件类型
-
软链接(又称为符号链接)ln -s ——相当于创建一个快捷方式
- 硬链接 ln ——相当于复制了一份副本
-
示例
ln -s /bin/bzip2 /bin/wx/软链接建立时原始文件可以不存在,如果删除源文件之后又重新建立源文件,那么软连接照样可以使用。软连接问文件的大小就是软连接本身的文件名字符长度,可以给目录做软连接,为了防止目录被删。
硬软区别
硬链接不能跨分区建立连接,无法对文件夹创建,删除硬件链接可以继续访问硬链接。
软连接可以跨设备,可以支持文件夹,软连接删除源文件不能访问。复制文件或目录-cp
将需要复制的文件或目录(源)重建一份,并保存为新的文件或目录
cp 【选项】… 源文件或目录… 目标文件或目录…常用选项
删除文件或目录-rm
删除指定的文件或目录
rm 【选项】要删除的文件或目录常用选项
【-f】 --force 强制删除,忽略不存在的文件,从不给出提示
【-i】 --interactive 交互模式删除文件,删除文件前给出提示
【-r】 --recursive 递归的删除目录下面文件以及子目录下文件示例
rm -rf public_html/grub/
rm -i public_html/apg.conf移动文件或目录-mv
将指定的文件或目录转移位置
如果目标位置与原位置相同,则相当于执行重命名的操作
mv 【选项】… 源文件或目录… 目标文件或目录
-i:若指定目录已有同名文件,则询问是否覆盖旧文件
-f:在mv操作要覆盖某已有的目标文件时不会给任何提示
当在同一目录下使用mv就是改名,如果是跨目录使用mv就是移动,相当于剪切操作。示例
mv mytouch mkfile
mv mkfile public_html/查找命令/文件存放目录-which
搜索范围由环境变量PATH决定(echo $PATH)
which 命令|程序名
或
which -a 命令|程序名
示例
which is
which cd查找文件或目录-find
采用递归方式,根据目标的名称、类型、大小等不同属性进行精细查找
find 【查找范围】 【查找条件表达式】
常用查找条件类型使用find命令实现多个查找条件
各表达式之间使用逻辑运算符
-a表示而且(and),同时满足
-o表示或者(or),满足其一
示例
find /boot -size +1024k -a name “vmlinuz”
find /boot -size +1024k -o name “vmlinuz”本章总结
shell是一种特殊程序
Linux命令的分类、格式及使用方法
Linux常用命令:
查看及切换目录(pwd,cd,ls,du)
创建目录和文件(mkdir,touch,ln)
复制、删除、移动目录和文件(cp,rm,mv)
查找目录和文件(which,find)
-