不同的linux系统切换方式会稍有一点差别
从图形界面切换到字符界面:Alt+F(1-8) 或者 Alt+Ctrl+Shift+F(1-8)
从字符界面切换回图形界面:Alt+F7
字符界面启动到图形界面使用:startx 或者 init5
WIN10
Fn+ctrl+alt+f8
Fn+ctrl+alt+f2
alt+tab(双击) 显示操作的命令记录
Linux命令
用于实现某一类功能的指令或程序
命令的执行依赖于解释器程序(例如:/bin/bash)
Linux命令的分类
内部命令:属于Shell解释器的一部分
外部命令:独立于Shell解释器之外的程序文件
Linux命令的通用命令格式
命令字 [选项] [参数]
选项及参数的含义
选项:用于调节命令的具体功能
以 “-”引导短格式选项(单个字符),例如“-l”
以“--”引导长格式选项(多个字符),例如“--color”
多个短格式选项可以写在一起,只用一个“-”引导,例如“-al”
参数:命令操作的对象,如文件、目录名等
命令行编辑的快捷键:
1、Tab键:自动补齐
2、反斜杠“”:强制换行
3、快捷键 Ctrl+U:清空至行首
4、快捷键 Ctrl+K:清空至行尾
5、快捷键 Ctrl+L:清屏
6、快捷键 Ctrl+C:取消本次命令编辑
内部命令help
查看Bash内部命令的帮助信息
命令的“--help” 选项
适用于大多数外部命令
使用man命令阅读手册页
使用“”、“”方向键滚动文本
使用Page Up和Page Down键翻页
按Q或q键退出阅读环境、按“/”键后查找内容
使用info命令阅读信息页
一、目录操作命令---5个
1、cd命令---切换工作目录
绝对路径:以“/”开始的路径,表示从Linux目录结构的最顶点算起
相对路径:不“/”开始的路径,可以相对于当前目录、父目录、其他用户的目录等作为起始点,使用形式如下:
1)直接使用文件名/目录名;
2)以 “.” 或 “..” 开始的路径;
3)以 “~用户名” 的形式开始的路径
格式:
cd . 当前目录
cd ./ 当前目录
cd / 返回根
cd 从别的目录下切换到宿主目录,即/root目录
cd /目录名 切换到对应的目录名位置,绝对路径
cd 目录名1/目录名2/目录名3... 进入到次级目录,前提是当前目录下存在目录名1
cd ../ 或cd .. 切换到上一级目录
cd ../../ 切换到上两级目录
cd ~用户名 切换到相应用户名下对应的目录
cd - 切换到上一次(执行cd命令前)操作的目录
2、pwd命令---返回当前的所在目录
3、ls命令---列表(List)显示目录内容
格式:ls [选项]... [目录或文件名]
常用命令选项:
-a:显示所有子目录和文件的信息,包括隐藏文件
-A:类似于“-a”,但不显示“.”和“..”目录的信息
-d:显示目录本身的属性
-l :以长格式显示
-h:以更易读的字节单位(K、M等)显示信息
-R:递归显示内容
--color:以颜色区分不同类型文件
定义别名:
alias 别名='原命令组合'
示例:alias myls='ls -alh'
*通配符,匹配零个、1个或者多个任意字符。
ls install.log*
?通配符,匹配一个任意字符。
示例:ls -lh install.???
4、mkdir命令---创建目录
创建目录: mkdir [-p] [/路径/] 目录名称
mkdir 目录名1 在当前目录下创建名为目录名1的目录
mkdir 目录名1 目录名2 目录名3 在当前目录下同时创建名为目录名1、目录名2、目录名3的目录
mkdir -p 目录名1/目录名2/目录名3 创建多层次目录
mkdir /目录1/目录N 在目录1下创建名为目录N的文件夹;/目录1 为绝对路径
说明:
1、mkdir命令用于创建新的空目录,可以同时创建多个目录
2、较常用到的选项为“-p”,该命令用于创建嵌套的多层目录结构
3、若不使用“-p”选项,则只能在已经存在的目录中创建其他子目录
5、du命令---统计目录及文件的空间占用情况
用途:统计目录及文件的空间占用情况(estimate file space usage)
格式:du [选项]... [目录或文件名]
常用命令选项
-a:统计时包括所有的文件,而不仅仅只统计目录
-h:以更易读的字节单位(K、M等)显示信息
-s:只统计每个参数所占用空间总的大小
二、文件操作命令---8个
1、touch命令---创建文件/更新文件时间标记
格式:touch 文件名1 文件名2 文件名3
命令解析:在当前目录下同时创建多个文件,文件内容为空
2、file命令---查看文件内容的格式
格式:file 文件名
说明:
1、当内容为空时,显示“empty”。
3、cp命令---复制文件或目录
格式:cp [选项] 源文件或目录 目标文件或目录
命令解析:把源文件或目录复制到目标文件或目录
如果复制的是目录选项必须有 -r (递归复制整个目录树)
常用命令选项:
-r:递归复制整个目录树
-f:强制覆盖目标同名文件或目录
-i:需要覆盖文件或目录时进行提醒
-p:保持源文件的属性不变
4、rm命令---删除(Remove)文件或目录
格式:rm [选项]... 文件或目录
如果删除的是目录选项必须有 -r (递归删除整个目录树)
常用命令选项:
-r:递归删除整个目录树
-f:强行删除文件或目录,不进行提醒
-i:删除文件或目录时提醒用户确认
说明:
1、使用“rm -rf 目录名”的形式可以不经提示即直接删除整个目录树,应慎用
5、mv命令---移动(Move)文件或目录
格式:mv [选项]... 源文件或目录… 目标文件或目录
说明:
1、如果目标位置与源位置相同,则效果相当于为文件或目录改名
2、若需要移动的是多个文件或目录时,则目标必须是目录
6、which命令---查找Linux命令对应文件并显示所在的位置
格式:which 命令或程序名
说明:
1、搜索范围由 PATH 环境变量指定
7、find命令---用于查找文件或目录
格式:find [查找范围] [查找条件]
常用查找条件:
-name:按文件名称查找
-size:按文件大小查找
-user:按文件属主查找
-type:按文件类型查找
说明:
1、按名称查找:关键字为“-name”,根据目标文件的部分名称查找,允许使用“*”及“?”通配符。
2、按文件大小查找:关键字为“-size”,根据目标文件的大小进行查找,一般使用“+”、“-”号设置超过或小于指定的大小作为查找条件。常用的容量单位包括k(注意是小写)、M、G。
3、按文件属主查找:关键字为“-user”,根据文件是否属于目标用户进行查找。
4、按文件类型查找:关键字为“-type”,根据文件的类型进行查找,这里的类型指的是普通文件(f)、目录(d)、块设备文件(b)、字符设备文件(c)等。块设备指的是成块读取数据的设备(如硬盘、内存等),而字符设备指的是按单个字符读取数据的设备(如键盘、鼠标等)
注意:
1、 缺写查找范围,代表当前目录下查找。
2、 查找条件:
–name 按名称 、-size 按文件大小 、 -user 按文件创建者 、-type 按文件类型。
3、 条件的内容需要用双引号;内容一般需要使用通配符* 或 _
4、文件类型:
1)-/f:普通文件 ;显示颜色:白色
2)d:目录;显示颜色: 蓝色
3)b:块设备文件 ,代表磁盘、硬盘 ;显示颜色:橙色
4)c:字符设备,代表鼠标、键盘;显示颜色:黄色;
5)l:软连接 相当于WINDOWS下的桌面快捷方式 天蓝色
8、ln命令---为文件或目录建立链接(Link)
格式:ln [-s] 源文件或目录… 链接文件或目标目录
常用命令选项
-s:建立符号链接文件(省略此项则建立硬链接)
关于链接文件
1、符号链接:指向原始文件所在的路径,又称为软链接
2、硬链接:指向原始文件对应的数据存储位置
3、不能为目录建立硬链接文件
4、硬链接与原始文件必须位于同一分区(文件系统)中
为文件或目录创建连接,link 相当于在WINDOWS下在桌面创建快捷方式。
软连接:ln [-s] 源文件/目录 目标文件/目录
硬连接:ln 源文件 目标文件
注意:
1、软连接的源文件路径必须写全完整的路径,即从/根目录开始写。
2、修改硬连接内容,软连接、源文件内容会同时发生改变;
修改软连接内容,硬连接、源文件内容会同时发生改变。
修改源文件内容,软连接、硬连接内容会同时发生改变。
3、删除源文件,软连接会显示红色,并且失效。硬连接文件内容保持不变并且可以正常使用。
4、硬连接不能操作目录;不能跨分区操作。
5、硬连接无-s。
6、符号/软链接:指向原文件所在的路径,删除目标文件或目录时不能查到,软链接与原始文件可以位于不同分区中。
7、硬链接:指向原始文件对应的数据存储位置,不能为目录建立硬链接文件,硬链接与原始文件必须位于同一分区中。
删除原始文件后,硬链接无影响,还能查看。
三、文件内容操作命令---7个
1、 cat命令---用于显示出文件的全部内容
格式:cat 文件名
说明:
1、文件内容操作命令都需要使用文本文件的名称作为命令参数(或者通过管道操作获取文本内容)
2、cat命令本来用于连接多个文件的内容,但在实际使用中更多的用于查看文件内容
3、当文件内容较多时,使用cat命令往往只能看到文件的最后一部分内容,而无法分页逐屏显示,若要分页显示,需要使用另外两个命令:more、less
2、more命令---全屏方式分页显示文件内容
格式:more 文件名
交互操作方法:
1、按Enter键向下逐行滚动
2、按空格键向下翻一屏、按b键向上翻一屏
3、按q键退出。
注意:
1、在分页阅读界面中,到文件末尾时more命令会自动退出,less命令不会。
2、无法控制光标的移动。移动到文件末尾,会自动结束。
3、more命令结合管道操作使用时(例如:ls -R /etc | more)无法向上翻页,但less命令可以
4、more和less都可以用于分页查看文本内容,具体使用哪一个看用户习惯
5、全屏方式分页显示文件内容,可以实行滚动,翻屏的交互操作。
3、less命令---与more命令相同,但扩展功能更多
格式:less 文件名
说明:
1、与more命令基本类似,但个别操作会有些出入
2、more命令结合管道操作使用时(例如:ls -R /etc |more)无法向上翻页,但less命令可以在分页阅读界面中,到文件末尾时more命令会自动退出,less命令不会。
3、more和less都可以用于分页查看文本内容,具体使用哪一个看用户习惯
4、less 特点:与more命令相同,但是扩展功能更多。交互操作也类似,但个别的操作会有些不同,如:打开文件后可以按键盘上下左右键移动光标位置;翻页到文件最后位置时不会自动退出文本,需要按q才退出。
4、head命令---查看文件开头的一部分内容(默认为10行)
格式:head -n 文件名
说明:
1、n为设定的行数,不写时为默认行数。
5、tail命令---查看文件结尾的少部分内容(默认为10行)
格式:tail -n 文件名
tail -f 文件名
说明:
1、tail命令结合“-f”选项使用时,可以用于跟踪日志文件末尾的内容变化,实时显示更新的日志内容。
6、wc命令---统计文件中的单词数量(Word Count)等信息
格式:wc [选项]... 目标文件...
常用命令选项:
-l:统计行数
-w:统计单词个数
-c:统计字节数
说明:
1、选项缺省,统计行数、单词个数、字节数。
7、grep命令---在文件中查找并显示包含指定字符串的所在的行
格式:grep [选项]... 查找条件 目标文件
常用命令选项:
-i:查找时忽略大小写
-v:反转查找,输出与查找条件不相符的行。
查找条件设置:
1、要查找的字符串以双引号括起来。
2、“^……”表示以……开头;“……$”表示以……结尾;“^$”表示空行。
3、查找条件一般使用正则表达式,正则表达式是一组特殊字符组成的一组公式。
示例1:过滤出hosts文件中的非注释行(不以”#“号开头的行)
[root@localhost ~]# grep -v "^#" /etc/hosts
127.0.0.1 localhost.localdomain localhost
::1 localhost6.localdomain6 localhost6
示例2:查找系统启动时识别的USB总线信息
[root@localhost ~]# dmesg | grep "USB"
drivers/usb/input/hid-core.c: v2.6:USB HID core driver
USB Universal Host Controller Interface driver v3.0
uhci_hcd 0000:02:00.0: new USB bus registered, assigned bus number 1
hub 1-0:1.0: USB hub found
ohci_hcd: 2005 April 22 USB 1.1 'Open' Host Controller (OHCI) Driver (PCI)
ehci_hcd 0000:02:03.0: new USB bus registered, assigned bus number 2
ehci_hcd 0000:02:03.0: USB 2.0 started, EHCI 1.00, driver 10 Dec 2004
hub 2-0:1.0: USB hub found
四、归档压缩命令---3个
1、gzip命令、bzip2命令---制作压缩文件、解开压缩文件
1)格式:gzip命令压缩文件
gzip -9 文件名1 文件名2 …
注意:
1、gzip压缩后文件名为 .gz的压缩文件
2、是纯正的自由软件,性能不错。若没有加上任何参数,生成压缩文件后,会删除原始文件。可以提高压缩率。
3、-9中的数字能自由选择1-9 数字越大压缩效果越好。默认为6。
4、目录压缩:目录不能直接压缩,必须先打包后压缩。
2)格式:bzip2命令压缩文件
bzip2 -9 文件名1 文件名2 …
注意:
1、bzip2压缩后文件名为 . bz2的压缩文件
2、采用了新的压缩演算法,压缩效果比传统的压缩算法好。若没有加上任何参数,生成压缩文件后,会删除原始文件。
3、目录压缩:目录不能直接压缩,必须先打包后压缩。
1)格式:gzip解压文件
gzip –d *.gz格式的压缩文件
2)格式:gzip解压文件
bzip2 -d *.bz2格式的压缩文件
常用命令选项:
-9:表示高压缩比,多在创建压缩包时用
-d:用于解开已经压缩过的文件
注意事项:
1、gzip压缩的文件只能用gzip解压;bzip2压缩的文件只能用bzip2解压。
2、tar命令---制作归档/打包文件、释放归档/解包文件
1)打包格式:
tar -c[选项]... 归档/打包文件名 源文件或目录
tar -cvf 归档后的名称.tar 源文件或目录
tar -cf 归档后的名称.tar 源文件或目录
2)解包到当前工作目录格式:
tar -x[选项]... 归档/打包文件名
tar -xvf 归档之后的名称.tar
tar -xf 归档之后的名称.tar
解包到非当前用户所在目录:
tar -x[选项]... 归档/打包文件名 [-C 目标目录]
常用命令选项:
-c:创建 .tar 格式的包文件----必要,必须使用
-x:解开.tar格式的包文件---必要,必须使用
-v:输出详细信息---非必要,可选可不选
-f:表示使用归档文件---必要,必须使用
-p:打包时保留原始文件及目录的权限---非必要,可选可不选
-t:列表查看包内的文件---相当于使用WINDOWS下双击压缩包,查看里面的内容。
-C:解包时指定释放的目标文件夹
-z:调用gzip程序进行压缩或解压
-j:调用bzip2程序进行压缩或解压
注意:
1、C为大写。
2、制作归档文件的意思是将许多零散的文件做成一个包(可以压缩,也可以不压缩)
3、小写字母“-p”选项用于保持原始文件权限等信息,大写字母“-P”选项用于保持原始文件的绝对路径,参考“man tar”帮助
4、使用tar命令时,选项前的“-”号引导字符可以省略
5、在实际的备份工作中,通常在归档的同时也会将包文件进行压缩,以便节省磁盘空间,
3、打压缩包、解压缩包
打包压缩
tar -zcvf 归档之后的名称.tar.gz 源文件或目录
tar -zcf 归档之后的名称tar.gz 源文件或目录
tar -jcvf 归档之后的名称.tar.bz2 源文件或目录
tar -jcf 归档之后的名称.tar.bz2 源文件或目录
解包解压缩
tar -zxvf 归档之后的名称.tar.gz 源文件或目录
tar -zxf 归档之后的名称tar.gz 源文件或目录 [-C 目标路径]
tar -jxvf 归档之后的名称.tar.bz2 源文件或目录
tar -jxf 归档之后的名称.tar.bz2 源文件或目录
五、文件/目录的权限和归属
访问权限
读取:允许查看文件内容、显示目录列表
写入:允许修改文件内容,允许在目录中新建、移动、删除文件或子目录
可执行:允许运行程序、切换目录
归属(所有权)
属主:拥有该文件或目录的用户帐号
属组:拥有该文件或目录的组帐号
用户对文件到底拥有何种权限,需要由访问权限和归属(所有权)共同决定
1、chmod命令---设置文件或目录的权限
格式1:chmod [ugoa] [+-=] [rwx] 文件或目录...
chmod ugoa+-=r/w/x 文件/目录
格式2:chmod nnn 文件或目录
常用命令选项
-R:递归修改指定目录下所有文件、子目录的权限
说明:
1、u、g、o、a 分别表示属主、属组、其他用户、所有用户
2、+、-、= 分别表示增加、去除、设置权限
3、多组分配权限用逗号分隔:chmod ugoa+-=r/w/x,ugoa+-=r/w/x 文件/目录
4、r、w、x、- 权限字符还可分别表示为8进制数字4、2、1、0;属主 可读可写可执行:rwx 4+2+1=7、属组可读可写:rw 4+2=6、其他可读:r 4
5、回收所有权限设为0,分配所有权限设为7.
6、在表示属主、属组内用户或其他用户对该文件的访问权限时,主要使用了四种不同的权限字符: r 可读 ;w 可写 ;x 可执行 ;-无权限
示例:“-rw-r—r--”
1、第一个字符表示文件类型,可以是d(目录)、b(块设备文件)、c(字符设备文件),减号“-”(普通文件)、字母“l”(链接文件)等
2、其余部分指定了文件的访问权限
示例1:重新设置mymkdir文件的权限,为属主用户添加执行权限,去除其他用户的读取权限
[root@localhost ~]# chmod u+x,o-r mymkdir
[root@localhost ~]# ls -l mymkdir
-rwxr----- 1 root root 29588 05-12 06:19 mymkdir
示例2:重新设置mymkdir文件的访问权限,恢复为“rwxr-xr-x”
[root@localhost ~]# chmod 755 mymkdir
[root@localhost ~]# ls -l mymkdir
-rwxr-xr-x 1 root root 29588 05-12 06:19 mymkdir
示例3:使用递归的方式将“/usr/src/”目录中所有子目录、文件的权限都设置为“rw-r--r--”
[root@localhost ~]# chmod -R 644 /usr/src/
“nnn”为需要设置的具体权限值,如“755”、“644”等
附加权限:
1、SET位权限
主要用途:
为可执行(有 x 权限的)文件设置,权限字符为“s”
其他用户执行该文件时,将拥有属主或属组用户的权限
SET位权限类型:
SUID:表示对属主用户增加SET位权限
SGID:表示对属组内的用户增加SET位权限
普通用户并没有权限修改“/etc/shadow”文件,那为什么可以修改自己的登录密码呢?
因为:passwd命令程序被设置了SUID权限,普通用户在执行该命令时临时获得相当于属主用户(root)的权限
注意: 1、不要轻易为可执行文件设置SET位权限,特别是对于那些属主、属组是root的执行程序,使用SET位权限时更应该慎重。例如,若为vim编辑器程序设置SUID权限,将导致普通用户也可以使用vim编辑器修改系统中的任何配置文件。
2、粘滞位权限(Sticky)
主要用途:
为公共目录(例如,权限为777的)设置,权限字符为“t”
用户不能删除该目录中其他用户的文件
说明:
1、由于系统及服务程序运行的需要, Linux提供了/tmp、/var/tmp等临时目录,允许任意用户、程序写入数据
2、若任意一个普通用户都能够删除系统服务运行中使用的临时文件,将造成什么后果?
设置粘滞位以后,正好可以保持一种动态的平衡:允许各用户在目录中任意写入、删除数据,但是禁止随意删除其他用户的数据
3、设置SET位、粘滞位权限
使用权限字符
chmod ug±s 可执行文件...
chmod o±t 目录名...
使用权限数字:
chmod mnnn 可执行文件...
m为4时,对应SUID,2对应SGID,1对应粘滞位,可叠加
说明:
1、SET位标记字符为“s”,若使用8进制数字形式,则SUID对应为“4”、SGID对应为“2”
2、在权限模式中可采用“nnnn”的形式时,如“4755”表示设置SUID权限、“6755”表示同时设置SUID、SGID权限
3、以为 /bin/touch 命令设置SUID权限为例进行演示,普通用户使用该命令创建测试文件,比较新建文件的属主变化
注意:
1、为普通文件(无执行权限的)设置SET位权限从语法上虽然也可行,但没有实际意义(标记字符将变为大写字母“S”)
通过实例操作演示,展示粘滞位的作用,例如:由普通用户1在 /tmp 目录中尝试删除 普通用户2的文件,对比是否设置粘滞位的区别
2、为普通文件或者用户本没有写入权限的目录设置粘滞位语法上也是可行的,但没有实际意义(标记字符将变为大写字母“T”)
2、设置文件或目录的归属
chown命令
格式:chown 属主 文件或目录
chown :属组 文件或目录
chown 属主:属组 文件或目录
常用命令选项
-R:递归修改指定目录下所有文件、子目录的归属
说明:
1、需要设置文件或者目录的归属时,可以通过chown、chgrp命令进行
2、chown命令既可以修改属主,也可以修改属组,而chgrp命令只用于修改属组信息(因此并不常用)