这里总结的都是简单常用的命令,很详细,并附有详细举例,可以根据例子自己实验尝试。
提示:1.这里所有的命令后面都可以跟--help来显示此命令的帮助信息。
2.此处的文件名或者目录名,要根据实际情况加上绝对路径或者相对路径。
目录
一、Linux系统的登录、注销和关机
1、登录
(1)[stu @ localhost ~]$
stu表示登录的用户名。
localhost表示主机名。
~表示当前目录。
$表示命令提示符。
(2)命令提示符:普通用户的提示符为$,超级用户的提示符为#。
~表示用户主目录,/表示根目录。
2、注销
在shell中输入命令exit,然后按Enter键,虚拟控制台就会返回登录屏幕。
3、关机
shutdown命令
作用:关闭虚拟机。
简单的格式:shutdown [选项] [时间]
shutdown -h now ——>立刻关机
shutdown -r now ——>立刻重启
shutdown -h 10 ——>10分钟后关机
Ctrl +c ——>取消关机的操作
注意:shutdown命令仅超级管理员能用,用su root命令从普通用户跳转到超级管理员。
二、常用的系统命令
1.date命令
作用:显示系统当前的日期和时间
date ——>当前系统的日期和时间
date +%R ——>当前系统的小时、分钟
date +%r ——>当前系统12小时制时间
date +%X ——>精确到秒
date +%x ——>当前系统的年月日
date -s 06/07/2022 ——>设定系统日期为2022年6月7日
date -s 06:06:06 ——>设定系统时间为06:06:06
2.passwd命令
作用:用户可以利用该命令更改自己的密码。
格式:普通用户下用passwd
超级用户下用passwd 用户名
3.file命令
作用:查看文件内容、文件类型。
格式:file [文件名]
4.cat命令
作用:创建文件;显示文件内容;将几个文件连接起来显示;从标准输入读取内容并显示。
cat 文件名 ——>一次显示整个文件
cat > 文件名 ——>创建新文件并编辑
cat file1 file2 > file3 ——>把file1和file2的内容合并到file3
cat -n 文件名 ——>对输出的所有行编号(从1开始)
cat file1 file2 >> file3 ——>把file1和file2合并到本身就有内容的file中,相当于追加
注意:用>合并的内容会覆盖file3文件原有的内容,用>>合并的内容不会覆盖file3文件原有的内容。
5.head命令
作用:有选择地显示指定文件的内容。
head 文件名 ——>默认显示文件内容的前10行
head -n 3 文件名 ——>显示文件内容的前3行
head -n -3 文件名 ——>显示除最后3行外的文件内容
head -c 3 文件名 ——>显示前3个字节
head -c -3 文件名 ——>显示除最后3个字节外的文件内容
6.tail命令
作用:显示文件的结尾部分。
tail 文件名 ——>默认显示文件内容的后10行
tail -n 3 文件名 ——>显示文件内容的后3行
tail -c 3 文件名 ——>显示后3个字节
注意:head命令和tail命令在运用-c选项显示字节时,要注意换行符也会被算进去。
7.more命令
作用:按页查看文件内容,按Ctrl+f显示下一页,按Ctrl+c返回上一页。
more +3 文件名 ——>显示从第3行起的文件内容
more -3 文件名 ——>每屏显示3行
8.less命令
作用:对文件或其他输出进行分页显示。
less 文件名 ——>把文件内容显示在一个新的页面上,按q键退出
9.wc命令
作用:统计指定文件中的行数、字数、字节数,并统计结果显示输出。
wc 文件名 ——>显示的依次是行数、字数、字节数、文件名(或途径)。
wc -l 文件名 ——>统计行数
wc -c 文件名 ——>统计字节数
wc -m 文件名 ——>统计字符数
wc -w 文件名 ——>统计字数,一个字被定义为空白、跳格或换行字符分隔的字符串。
10.Tab补全命令
作用:可以补全命令和目录名
11.history命令
作用:显示曾经执行过的命令列表。
12.echo命令
作用:在显示器上显示一段文字。
echo "nihao" ——>输出nihao
单引号输出变量,双引号输出变量值
三、文件内容的管理
1.cd命令
作用:完成目录切换。
cd ~ ——>跳转到自己的主目录
cd ——>不加任何路径,与cd ~ 一样
cd / ——>切换到系统的根目录
cd .. ——>切换到当前目录的上层目录
cd - ——>切换到前一个工作目录
cd ./dir ——>切换到当前目录下的dir目录
cd ~ stu ——>切换到stu用户的主目录
2.pwd命令
作用:查看当前工作目录的完整路径。
3.ls命令
作用:显示文件内容。
ls -a ——>显示所有档案及目录(隐藏的也会被列出)
ls -i ——>显示文件索引节点号
ls -l ——>以长格式显示目录下的内容列表,等价于ll
4.mkdir命令
作用:创建目录。
mkdir 目录名 ——>创建指定目录
mkdir -p dir1/dir01 ——>指定在当前目录下创建多个目录
mkdir dir1 dir2 ——>在当前目录下同时创建dir1和dir2
5.rmdir命令
作用:删除目录。
rmdir 目录名 ——>删除指定非空目录
rmdir -p dir1/dir01 ——>删除dir1目录下的dir01目录
6.touch命令
作用:创建文件。
touch 文件名 ——>创建指定文件
touch file1 file2 ——>在同一目录下同时创建file1和file2
touch {f1,f2,f3,f4}.txt ——>同时创建后缀名为.txt的文件
7.cp命令
作用:复制一个或多个文件,也可以用于复制目录。
cp file1 file2 ——>复制文件file1到file2
cp file1 file2 dir ——>复制文件file1和file2到目录dir
cp -r dir1 dir2 ——>复制目录dir1到dir2
cp -r dir1 dir2 dir ——>复制目录dir1和dir1到dir
cp -f 源文件 目的文件 ——>看是否有重复文件,有的话直接覆盖
cp -i 源文件 目的文件 ——>目的文件已存在,在覆盖时先询问
8.mv命令
作用:用来移动文件、目录或者给文件改名。
mv file dir ——>把文件file移动到目录dir下
mv dir1 dir2 ——>把目录dir1移动到dir2下
mv file1 file2 ——>给文件file1重命名为file2
mv -b 源文件或目录 目标文件或目录——>若需要覆盖文件,则提前先备份
mv -f 源文件或目录 目标文件或目录——>若目标文件已存在,不询问而直接覆盖
mv -i 源文件或目录 目标文件或目录——>若目标文件已存在,先询问是否覆盖
9.rm命令
作用:删除文件。
rm 文件名 ——>删除普通文件
rm f* ——>删除以f开头的文件
rm -r 目录名 ——>删除非空目录
rm
10.ln命令
作用:为某一个文件在另外一个位置建立一个同步的链接。
ln file ylink(别名) ——>硬链接
ln -s file rlink(别名) ——>软链接
11.特殊符号的使用
* ——>可由0个或更多字符组成的任何字符串
? ——>任何一个字符
四、数据的压缩
1.tar命令
作用:打包。
tar -cf dir.tar dir ——>把dir打包
tar -xf dir.tar ——>拆包
tar -tf dir.tar ——>列表
tar -f dir.tar -r file ——>把file文件追加到dir.tar
tar -rf dir.tar file ——>把file文件追加到dir.tar
tar -f dir.tar --delete file ——>删除某个文件
tar -f dir1.tar -A dir2.tar ——>把dir2.tar合并到dir1.tar
tar -zcvf dir.tar.gz dir ——>打包并压缩
tar -jcvf dir.tar.bz2 dir ——>打包的同时一并压缩为dir.tar.bz2
tar -zxvf dir.tar.gz ——>拆包并解压
tar -zxvf dir.tar.gz -C /tmp ——>解压到指定目录
2.gzip命令
gzip dir.tar ——>压缩
gzip -d dir.tar.gz ——>解压
五、文本文件的创建与编辑
1.重定向
(1)输出重定向
head -n 3 file1 > file ——>重定向到file(file文件有内容覆盖,无文件新建文件)
head -n 3 file2 >> file ——>追加到文件(不覆盖)
(2)错误重定向
head -n file1 2 >> file ——>把前面标准错误追加到文件中
histoto & >> file ——>不管对、错都存进去
(3)对输入重定向
tr 'd' 'D' < file ——>将文件中的D改为d
2.管道
作用:当两个命令用管道连接起来时,第一个进程的标准输出流直接连接到第二个进程标准输入序列。
格式:命令A | 命令B
ls | sort ——>对查看的内容进行排序
ls | more ——>对查看的内容进行分页显示
ls -l /tmp | head -n 3 ——>查看/tmp列表内容的前3行
注意:实际查看的/tmp内容只有前两行,因为会显示总电量占一行。
history | tail -n 3 | wc -c ——>统计曾经执行过的命令的后三行
history | tail -n 3 | grep ls ——>搜索曾经执行过命令的后七行中带ls的命令
六、vi编辑器
1.三种模式的转换
编辑模式到插入模式,输入i(插入)、o(追加)、s(替换)、c(修改)、r(取代)命令
插入模式到命令模式,按esc键
命令模式到编辑模式,按space键
编辑模式到命令模式,按“:”键
2.常用的编辑命令
(1)光标定位
h,j,k,l ——>用于光标左移,下移,上移,右移一个字符
Ctrl+b ——>将屏幕向文件首方向翻一屏
Ctrl+f ——>将屏幕向文件尾方向翻一屏
H ——>将光标移至当前屏首行的行首(即左上角)
nH ——>移至当前屏第n行行首
L ——>移至当前屏最底行的行首
nL ——>移至当前屏倒数第n行行首
w ——>将其右移至下一行的字首
b ——>在非字首,光标移至本行字首;在字首,光标移到上一行字首
o ——>移到当前行行首
$ ——>移到当前行行尾
(2)替换和编辑
rc ——>用字符c替换光标所指向的当前字符
nrc ——>用字符c替换所指向的前n个字符
X ——>删除光标处的字符
nx ——>删除从光标所在位置开始向右的n个字符
dd ——>删除光标所在的整行
ndd ——>删除当前行及其后的n-1行
(3)复制和粘贴
yy ——>将当前行的内容复制到缓冲区
nyy ——>把当前行开始的n行内容复制到缓冲区
p ——>相当于粘贴,粘贴在当前行的下一行
u ——>实现撤销
3.常用的命令模式
(1)退出
:q ——>退出vi编辑器
:wq ——>保存并退出vi编辑器
:q! ——>强制退出vi编辑器
(2)文件相关
:w ——>将编辑内容存盘
:w file ——>将编辑写到file文件中
:r file ——>打开另一个文件file(这个文件需要为文本文件)
(3)字符串搜索、替换和删除
:/str/ ——>从当前光标开始往右移动到有str的地方
:s /str1/str2 ——>将第一个str1替换为str2
:s /str1/str2/g ——>将当前行所有的str1替换为str2
:%s /d/D/g ——>将所有d替换为D
:n1,n2 s/d/D/g ——>将n1到n2行中所有的d替换为D
(4)文本的复制、移动和删除
:n1,n2 co n3 ——>将从n1开始到n2为止所有内容复制到n3后面
:n1,n2 m n3 ——>将从n1开始到n2为止所有内容移动到n3后面
:d ——>删除当前行
七、用户与用户组管理
1.who命令
作用:显示目前登入系统的用户信息。
who ——>显示用户信息
who -H ——>为每一列信息加上标题
2.w命令
作用:显示登录到系统的用户情况。
3.useradd命令
作用:添加新的用户账号。
useradd 用户名 ——>添加用户账号
useradd -d 路径 ——>指定用户登入时的主目录
useradd -u 666 user ——>指定user的用户号为666
useradd -G user1 user2 ——>把user2添加到user1
useradd -g user1 user2 ——>指定用户user2的所在组
注意:可以用tail -n 5 /etc/passwd查看操作效果;只有超级管理员才能添加普通用户的权限。
4.userdel命令
作用:删除用户账号。
userdel 用户名 ——>删除用户账号
userdel -r 用户名 ——>删除用户及其相关的所有文件
注意:可以用tail -n 5 /etc/passwd查看操作效果;只有超级管理员才有权限。
5.usermod命令
作用:修改已有用户的信息。
usermod -u 666 user ——>修改user的用户号为666
usermod -G user1 user2 ——>添加user2的附加组为user1
usermod -g user1 user2 ——>修改用户user2的原生组为user1
注意:可以用tail -n 5 /etc/passwd查看操作效果;只有超级管理员才有权限。
6.id命令
作用:查看账号属性。
7.groupadd命令
作用:添加新的用户组。
groupadd 组名 ——>添加新的用户组
groupadd -g 788 user ——>修改用户组组号
注意:可以用tail -n 5 /etc/group查看操作效果;只有超级管理员才有权限。
8.groupdel命令
作用:删除用户组。
groupdel 组名 ——>删除指定用户组
注意:可以用tail -n 5 /etc/group查看操作效果;只有超级管理员才有权限。
9.groupmod命令
作用:修改用户组的属性。
groupmod -g 799 group ——>将组group的组标识号修改为799
groupmod -g 799 -n test group ——>将group的标识号改为799,组名修改为test
注意:可以用tail -n 5 /etc/group查看操作效果;只有超级管理员才有权限。
10.groups命令
作用:显示用户所在组。
groups 用户名 ——>显示用户所属的组
11.newgrp命令
作用:转换到其他用户组。
newgrp 目的用户组 ——>将当前用户转换到目的用户组
12.su命令
作用:切换用户身份。
su 用户名 ——>切换到指定用户
su -l 用户名 ——>切换到用户的主目录下
13.sudo命令
作用:权力下放。
操作步骤:
(1)在超级用户下输入vi /etc/sudoers
(2)进入vi编辑器后找到root ALL=(ALL)ALL这句话
(3)按i键在这句话的下面插入 用户名(把权利下放给谁)ALL=(ALL) ALL
(4)按:wq!退出vi编辑器。
用法:
(1)su -l stu1 ——>跳转到stu1用户的主目录
(2)用sudo -u root useradd stu1 命令检测一下权利是否下放成功
注意:此处输入的密码是stu1的密码
(3)在只能超级用户用的命令前加上sudo即可,如sudo useradd 用户名
八、文件和目录的权限
1.文件权限
文件权限由10个字符组成,左数的第一个字符表示文件类型,第2~10个字符表示文件的权限。
(1)第1个字符
字符 | 文件类型 |
---|---|
- | 普通文件 |
d | 目录文件 |
b | 块设备 |
c | 字符设备 |
l | 链接文件 |
p | 管道文件 |
(2)第2~10个字符
第2~10个字符每3个为一组,左边3个字符(第2~4个)表示所有者权限,中间3个字符(第5~7个)表示与所有者位于同一组的用户的权限,右边3个字符(第8~10个)是其他用户的权限。这3组共计9个字符,代表的意义如下:
r(read,读取):对文件而言,具有读取文件内容的权限;对目录而言,具有浏览目录的权限。
w(write,写入):对文件而言,具有新增、修改文件内容的权限;对目录而言,具有删除、移动目录内文件的权限。
x(execute,执行):对文件而言,具有执行文件的权限;对目录而言,该用户具有进入目录的权限。
- :表示不具有该项权限。
2.chmod命令
作用:用于改变文件或目录的访问权限。
假设file的权限为rw-r--r--
(1)权限数字法
r=4,w=2,x=1,- =0。如rwxr-xr-x可表示为755(4+2+1,4+0+1,4+0+1)
chmod 777 file ——>改file文件的权限为rwxrwxrwx
(2)文字法
权限范围:
u:目录或者文件的当前用户。
g:目录或者文件的当前群组。
o:除了目录或者文件的当前用户或群组之外的用户或者群组。
a:所有的用户及用户组。
chmod u+x,g=wx,o+x file ——>改file文件的权限为rwxrwxr-x
chmod ug=rx,o=--- file ——>改file文件的权限为r-xr-x---
(3)修改所有者权限
chown stu file ——>修改file文件的所有者为用户stu
(4)修改文件所属组
chown :stu file ——>修改file文件的所属组为stu
3.chgrp命令
作用:改变文件所属的组。
chgrp stu file ——>修改file文件的所属组为stu
注意:chgrp命令允许普通用户改变文件所属的组,只要该用户是该组的一员。
4.umask命令
作用:查看文件的默认权限,或者获取当前权限掩码。
文件的权限满值是666,目录的权限满值是777
用满值减去掩码等于基础权限文件,如umask为0002指的是清除其他用户的写入位。前导零表示特殊的用户和组权限未被清除。
umask 077 file ——>改文件权限
5.设置特殊权限
作用:使得只有拥有者才能编辑,即便权限全放开也不行。
chmod u+s 文件名 ——>设置setuid权限
chmod 4775 文件名 ——>设置setuid权限
chmod g+s 文件名 ——>设置setgid权限
chmod 2775 文件名 ——>设置setgid权限
chmod o+t 文件名 ——>设置stick bit权限
chmod 1775 文件名 ——>设置stick bit权限
注意:如果设置了s或t权限但发现它变成了S和T,因为在那个位置上没有给它设置x权限,这样的设置是无效的。解决的办法是先为其赋予x权限,然后再赋予s或t权限。
6.ACL权限
作用:给文件或目录提出超出角色属性的第四类用户的权限。
setfacl -m u:用户名:权限 文件或目录名 ——>添加一个用户权限
setfacl -m g:组名:权限 文件或目录名 ——>添加一个用户组权限
getfacl 文件名或目录名 ——>查看谁用了ACL权限
setfacl -b 文件名或目录名 ——>删除ACL权限
九、Linux进程的监控
1.ps命令
作用:显示进程瞬间的状态。
ps -A ——>显示所有进程
ps -ef ——>显示更详细的信息
ps -u ——>显示指定用户的所有进程
2.top命令
作用:查看进程动态显示过程。
top ——>显示进程
top > file ——>把瞬间进程信息存储到file文件
3.kill命令
作用:终止进程。
kill PID(进程ID) ——>把某进程终止掉,用ps命令可看到进程ID
kill -l ——>显示全部的信号名称
kill -9 PID ——>强制关闭某个进程
kill | ——>重新启动
4.&
作用:把这个命令放到后台执行。
格式:在命令行末尾加上&
shutdown -r 100 & ——>把关机进程放置到后台执行
5.jobs命令
作用:查看当前有多少在后台运行的命令。
jobs ——>查看后台进程信息
jobs -l ——>显示所有任务的PID
6.fg命令
作用:将后台命令调至前台继续运行。
fg %任务号 ——>把后台命令放到前台运行,任务号为通过jobs命令查看到的后台正在执行的命令的序号
7.bg命令
作用:将一个在后台暂停的命令变成继续在后台执行。
bg %任务号 ——>将任务转移到后台运行,任务号为通过jobs命令查看到的后台正在执行的命令的序号
注意:将前台正在执行的进程放到后台执行的方法是:先利用Ctrl+z将一个正在前台执行的命令放到后台,并且处于暂停状态,然后再使用bg命令,这样进程就被移到后台继续运行,终端还能继续接受命令。
十、查找系统文件
1.locate命令
作用:搜索符合条件的档案。
locate pwd ——>查找和pwd相关x的所有文件
locate /tmp/f ——>搜索tmp目录下,所有以f开头的文件
2.find命令
作用:在本地文件系统中实时搜索文件。
find f* ——>查找当前目录下以f开头的文件
find /tmp -name file(文件名) ——>按文件名称精确查找/tmp目录下的文件
find /tmp -name "f*(文件名)" ——>按文件名称查找/tmp目录下的以f开头的文件
find /tmp -type f(文件类型) ——>利用文件类型查找/tmp目录下普通文件
find /tmp -user stu(用户名) ——>利用文件的所有者查找/tmp目录下的所有文件
find /tmp -group stu(组名) ——>利用文件的所属组查找/tmp目录下的所有文件
find /tmp -size 100(文件大小) ——>在/tmp目录下,查找文件大小是100的所有文件
find /tmp -size +100(文件大小) ——>在/tmp目录下,查找文件大小大于100的所有文件
find /tmp -size -100(文件大小) ——>在/tmp目录下,查找文件大小小于100的所有文件
find /tmp -mmin 100(分钟) ——>在/tmp目录下,查找文件距当前时间100分钟创建的所有文件
find /tmp -mmin +100(分钟) ——>在/tmp目录下,查找文件距当前时间100分钟以外创建的所有文件
find /tmp -mmin -100(分钟) ——>在/tmp目录下,查找文件距当前时间100分钟以内创建的所有文件
find /tmp -mmin -100(分钟) ——>在/tmp目录下,查找文件距当前时间100分钟以内创建的所有文件
find /tmp -uid 0 ——>在/tmp目录下,查找文件uid为0的用户创建的所有文件
find /tmp -perm 777(文件权限) ——>在/tmp目录下,查找文件权限为777的所有文件
find /tmp -name "f*" -a -user root ——>在/tmp目录下,查找以f开头并且所有者为root的所有文件,其中-a可以省略
find /tmp -type f -name ".*" ——>在/tmp目录下,查找归档中所有隐藏的普通文件
find /tmp -type d -empty ——>在/tmp目录下,查找归档中所有空目录
find /tmp -user root -o -perm 755 ——>在/tmp目录下,查找文件所有者为root或者文件权限为755的所有文件
find /tmp -type f -not -perm 777 ——>在/tmp目录下,查找文件权限不为777的普通文件
注意:调用find命令的用户必须具有对其目录的读取和执行权限;利用文件类型查找普通文件时,不是用 - ,而是用f。
十一、文件系统的挂载和卸载
1.df命令
作用:显示指定磁盘文件的可用空间。
格式:df 选项 文件名
df -h ——>以方便阅读的方式显示指定磁盘文件的可用空间
2.mount命令
作用:实现root用户手动挂载文件系统。
格式: mount 选项 需要挂载的设备 挂载目录
选项:-t,指定文本系统的类型,iso9660、vfat、ntfs
mount -t iso9660 /dev/sr0 /tmp/cdrom ——>挂载镜像文件
注意:挂载点必须是一个目录;一个分区挂载在一个已存在的目录上,这个目录可以不为空,但挂载后这个目录下以前的内容将不可用,因此建议用mkdir命令新建一个挂载目录。
3.umount命令
作用:已挂载点为选项来卸载文件系统。
格式:umount 选项 需要卸载的设备或挂载目录
umount /tmp/cdrom ——>卸载
umount /dev/sr0 ——>卸载