Linux的常用命令
一.Linux基础命令
1.Shell概述
~Linux系统中运行的一种特殊程序
~在用户和内核之间充当“翻译官”
~用户登录Linux系统时,自动加载一个Shell程序
~Bash是Linux系统中默认使用的Shell程序
~Bash文件位于/bin/bash
2.Linux命令的分类
~内部命令:属于Shell的一部分
~外部命令:属于Shell解释器程序之外的
3.命令执行的优先级
**第一优先级:**指定路径的命令。绝对路径 /root/pwd.sh 或者相对路径 ./pwd.sh
**第二优先级:**别名指定的命令 alias pwd=/root/pwd.sh
**第三优先级:**内部命令
**第四优先级:**hash命令
linux系统下会有一个hash表,当你刚开机时这个hash为空,每当你执行过一条命令时,相当于缓存一样。第一次执行命令shell解释器默认的会从PATH路径下寻找该命令的路径,首先会查看hash表,没有该命令才会去PATH路径下寻找。hash表能提高命令的调用速率。
**第五优先级:**通过PATH定义的查找顺序查找
如果以上顺序都找不到,就会报“未找到命令…”的错误。
二.Linux命令行的格式
通用的命令行使用格式
命令字 [选项] 【参数】 (英文字符区分大小写)
操作 功能 要执行的对象
命令字
整条命令中最关键的一部分,唯一确定一条命令
选项
段格式选项:使用“-”符号引导
长格式选项:使用“–”符合应道
多个单字符选项就可以组合在一起使用
参数
命令字的处理对象
可以是文件名、目录(路径)名或用户名等内容
个数可以是零到多个
1.列表显示目录内容-ls
显示目录中的内容,包括子目录和文件相关属性信息。
ls的常用选项
-l:以长格式(Long)显示文件和目录的列表,包括权限、大小、最后更新时间等详细信息。ll命令与ls-1功能相同
-a:显示所有(All)子目录和文件的信息,包括名称以点号“.”开头的隐藏目录和隐藏文件。
-A:与-a选项的作用基本类似,但有两个特殊的隐藏目录不会显示,即表示当前目录的“.“和表示父目录的“…”
-d:显示目录(Directory)本身的属性,而不是显示目录中的内容。
-h:以更人性化(Human)的方式显示目录或文件的大小,默认的大小单位为字节(B),使用-h选项后将显示为KB、MB等单位。此选项需要结合-l选项一起使用。
-R:以递归(Recursive)的方式显示指定的目录及其子目录中的所有内容。
–color:在字符模式中以颜色区分不同的文件。默认已开启,通常情况下,深蓝色表示目录,白色(指黑色)表示一般文件,绿色表示可执行文件(如脚本、启动的程序等),黄色表示设备文件(如网卡、硬盘、光驱等),红色表示压缩文件。
-i:显示文件和目录的inode号。
结合通配符
“?”:代表任意一个字符,且至少1个
“*”:代表任意数个字符,可以是0个或者1个或者多个
“[]”:表示可以匹配字符组中的任意一个字符
[abc]、[a-f]
2.编辑Linux命令行的辅助操作
Tab键:自动补齐
反斜杠“\”强制换行(视觉上换行,实际还在同一行)
Ctrl+U组合键:清空至行首
Ctrl+K组合键:清空至行尾
Ctrl+L组合键:清屏
Ctrl+C组合键:取消本次命令编辑
Ctrl+a组合键:切换值行首
Ctrl+e组合键:切换至行尾
3.Linux获取命令的帮助方法
内部命令help
查看shell内部命令的帮助信息
命令的“–help”选项
适用于大多数Linux外部命令
使用man命令阅读手册页
使用“↑”、“↓”(ENTER)方向键滚动一行文本
使用Page Up和Page Down“空格”键翻页
按Q或q键退出阅读环境
按“/”键查找内容,n键向下查找,N键向上查找
4.切换工作目录-cd
将用户的工作目录更改到其他位置
绝对路径:从根目录开始(起点)“/”开头的路径
相对路径:以当前的路径为起点
5.ls -1查看目录得到的7个字段列表
列如:-rwxrwxr-- 1 root root 762 07-29 19:19 exit
第1字段:文字属性字
第一个字符代表文件的类型:
“-”表示该文件是一个普通文件
“d”表示该文件是一个目录
“l”表示该文件是一个软链接文件。类似于windows下的会计方式
第1字符的后面9个字母表示该文件或目录的权限位:
r表示读(查看、下载)、w表示写(添加、更改、删除、上传)、x表示执行(运行文件、切换目录)
其中前三个表示文件拥有者(属主)的权限,中间三个表示文件所属组拥有的权限,最后三个表示其他用户拥有的权限。
第2字段:文件硬链接数
如果一个文件不是目录,此时这一字段表示这个文件所具有的硬链接数
如果是一个目录,则第2字段表示该目录所含子目录的个数。
如果建一个空目录,这个目录的第二字段就是2,表示该目录下有两个子目录。
第3字段:文件\目录拥有者
第4字段:文件\目录又有者所在的组
第5字段:文件所占用的空间(默认以字节为单位)
如果是一个目录,则表示该目录的大小,而不是目录以及它下面的文件总大小。
Linux系统中一切皆文件,因此目录也是一种文件。
第6字段:文件\目录最近访问或修改时间
第7字段:文件名
如果是一个符号链接(软链接文件),那么会有一个“->”箭头符号,后面跟一个它指向的文件名
9.设置别名 -alias
命令格式:
alias 命令别名=‘命令’
=liang两边不能有空格
示列 设置myls为ls-alh的别名
alias myls=‘ls-alh’
取消别名: unalias 命令别名
10.统计目录及文件占用情况 du命令
命令格式 :du 【选项】 【文件名或目录】
du的常用选项
“-a” 统计磁盘空间占用时包括所有的文件,而不仅仅只统计目录
“-h” 以更人性化的方式显示出统计结果(默认以KB计数,但不显示单位)
“-s” 只统计所占用空间总的大小,而不是统计每个子目录、文件的大小
“–max-depth=n” 统计所有小于等于第n层的目录的总大小
(选项-a和-s不可同时使用)
11.创建新目录 mkdir命令
格式:
mkdir 【选项】目录位置及名称 (选项-p:一次性创建嵌套的多层目录)
12.创建空文件 touch命令
更新文件的时间标记
经常用于创建多个新的空文件
格式: touch 文件
示列:创建两个空文件,文件名为aa.txt和bb.txt
touch aa.txt bb.txt
touch{a,b}.txt
13.创建链接文件 ln命令
为文件或目录建立链接文件,类似于windows系统的快捷方式
链接文件类型:
软连接(又称为符号链接)
硬链接
创建软链接 命令格式:ln 【-s】源文件或目录 链接文件或目标位置
在linux中,文件名和文件数据是分开存储的
提示:在linux中,只有文件的硬链接数=0才会被删除
使用ls -l可以查看一个文件的硬链接的数量(日常工作中几乎不会建立硬链接)
6.复制文件或目录 cp命令
将需要复制的源文件或源目录重建一份,并保存为新的文件或目录
命令格式:cp 【选项】 源文件或目录 目标文件或目录
常用选项:
“-f”:覆盖目标同名文件或目录时不进行提醒,而直接强制复制。
"-i“:覆盖目标同名文件或目录时提醒用户确认。
“-p”:复制时保持源文件的权限、属主及时间标记等属性不变。
”-r“:复制目录时必须使用此选项,表示递归复制所有文件及子目录。
注:复制多个文件或目录时,目标位置必须是目录,而且目标目录必须已存在。
7.删除文件或目录 rm命令
命令格式:rm 【选项】 要删除的文件或目录
常用选项:
“-f”:删除文件或目录时不进行提醒,而是直接删除。
“-i”:删除文件或目录时提醒用户确认。(Y,N选择)
“-r”:删除目录时必须使用此选项,表示递归删除整个目录树。(谨慎使用,容易坐牢)
注:不要直接删除系统中已有的目录或配置文件,以避免出现意外故障。
8.移动文件或目录 mv命令
将指定的文件或目录转移位置
如果目标位置与源位置相同,则相当于执行重命名操作。
命令格式:mv 【选项】源文件或目录 目标文件或目录。
9.查找命令文件存放位置 which 命令
搜索范围由环境变量PATH决定(echo ¥PATH)
命令格式:which 命令|程序名 //默认当找到第一个目标后不再继续查找
或:which -a 命令|程序名 //在所有的搜索路径中查找
10.查找文件或目录 find 命令
采用递归方式,根据目录的名称、类型、大小等不同属性进行精细查找。
命令格式:find 【查找范围(查找文件或子目录的目录位置)】 【查找条件表达式(查找条件类型)】
常用查找条件类型:
使用find命令实行多个查找条件
各表达式之间使用的逻辑运算符
“-a”表示而且(and)
“-o”表示或者(or)
find之exec的用法
-exec参数后面跟的是Linux命令,它是以分号“;”为结束标志,由于各个系统中分号会有不同的意义,因此在分号前面加上反斜杠转义符“、”
{}代表前面find查找出来的文件名。
find命令匹配到了当前目录下的所有普通文件,并在-exec选项中使用ls-l命令将它们列出。
命令格式:find ./ -type f -exec ls -l {} 、;