1、管理文件和目录的命令
命令 | 功能 | 命令 | 功能 |
---|---|---|---|
pwd | 显示当前目录 | ls | 查看目录下的内容 |
cd | 改变所在目录 | cat | 显示文件内容 |
grep | 在文件中查找字符 | cp | 复制文件 |
touch | 创建文件 | mv | 移动文件 |
rm | 删除文件 | rmdir | 删除目录 |
1-1、pwd 命令
> 该命令的英文解释为 print working directory(打印工作目录)。输入pwd命令,Linux会输出当前目录1-2、cd 命令用来改变当前所在目录
【cd /】转到根目录
【cd ~】转到/home/user用户目录下
【cd /usr】转到 根目录的/usr目录下 ---- 绝对路径
【cd test】转到当前目录下的 test 目录下 ----相对路径
1-3、ls 命令用来查看目录下的内容(默认以文件名称排序)
选项 | 含义 注:所有选项均可同时使用,例如: ls -al |
---|---|
-a | 列出目录下所有的文件,包含隐藏文件 |
-A | 全部的文件,连同隐藏文件,但是不包括.和…这两个目录 |
-l | 列出目录下的详细信息,如:权限、所有者、群组、大小、创建时间、文件是否是链接等【详细解读】 |
-f | 直接列出全部结果,不排序(ls 会排序) |
-R | 递归,递归的方式列举当前目录以及子目录的文件 |
-s | 按照文件大小进行排序输出,并将文件大小显示在文件前面(【1024 cui.txt】解释为cui.txt大小1024K) |
-h | 执行文件大小的单位,如:K、M、G |
1-4、cat 命令用来查看某个文件的完整内容
【cat cui.txt】 解释为:查看cui.txt文件下的所有内容。
【 cat cui.txt cui2.txt】 解释为:查看cui.txt和 cui2.txt 文件下的合并内容,并不会影响两个文件的内容结构。
1-5、grep 命令用来查找文件中的某个字符串
例:grep cui text.txt text2.txt 解释为 在 text.txt 和 text2.txt 文件中查找 cui 这个字符串,并输出找到的字符串。
1-6、touch 命令用来创建新的空白文件
例如:touch cui.txt 解释为创建一个名为 cui.txt 的空白文件。如果 touch
一个已经存在的文件,则不会创建空白文件覆盖原来的文件。可同时创建多个文件:touch a.txt b.txt
1-7、cp 命令用来复制文件
选项 | 说明 |
---|---|
-a | 该选项通常在拷贝目录时使用。它保留链接、文件属性,并递归地拷贝目录,其作用等于dpR选项的组合。 |
-p | 此时cp除复制源文件的内容外,还将把其修改时间和访问权限也复制到新文件中。 |
-l | 不作拷贝,只是链接文件。 |
-d | 拷贝时保留链接。若来源文件为连结文件的属性(link file),则复制连结文件属性而非档案本身; |
-f | (force) ,强制覆盖目标文件而不提示 |
-i | 和f选项相反,在覆盖目标文件之前将给出提示要求用户确认。回答y时目标文件将被覆盖,是交互式拷贝。 |
-l | 进行硬式连结 (hard link) 的连结档建立,而非复制档案本身; |
-r | 递归复制,会复制整个目录树,子目录及其他。此时目标文件必须为一个目录名。 |
-s | 复制成为符号连结文件 (symbolic link),亦即『快捷方式』档案; |
-u | 若 目标文件 比 源文件 旧才更新 目标文件 ! |
-v | 详细:显示文件的复制进度 |
1-8、mv 命令用来移动文件
选项 | 说明 |
---|---|
-i | 互动:如果源文件会覆盖目标文件,则会提示确认 |
-f | 强制:如果源文件会覆盖目标文件,则会跳过提示直接覆盖。 |
-v | 详细:显示文件的移动进度 |
1-9、rm 命令用来删除文件
选项 | 说明 |
---|---|
-i | 互动:提示确认删除 |
-r | 递归:将删除目标目录以及下级目录等所有文件 |
-f | 强制:跳过提示删除,直接删除。 |
-v | 详细:显示文件的删除进度 |
1-9、rmdir 命令用来删除目录
rmdir cui 解释为删除名称为 cui 的空文件夹
2、文件备份和压缩命令
在Linux中,常用的文件压缩工具有gzip、zip、bzip2 ,其中gzip是Linux最常用的压缩工具,在终端输入命令man gzip命令将显示gzip的帮助文档。
命令 | 功能 |
---|---|
gzip / gunzip | 扩展名为.gz 的压缩 / 解压工具 |
zip / unzip | 扩展名为.zip 的压缩 / 解压工具 |
bzip2 / bunzip3 | 扩展名为.bz2 的压缩 / 解压工具 |
tar | 创建备份和归档(打包) |
2-1、gzip / gunzip 命令
压缩 输入:gzip fileName 文件即会被压缩,并保存为 fileName.gz 并删除fileName文件
解压 输入:gunzip fileName.gz 压缩包将被解压为 fileName 并删除 fileName.gz
输入: gzip -r file1 file2 /usr/cui 解释为:将 file1 file2 以及文件夹cui 下的所有文件压缩为 xxx.gz
gunzip:与之相反,为解压缩
2-2、zip / unzip 命令
zip 命令的使用与 gzip 命令使用相同
2-3、bzip2 / bunzip2 命令
zip 命令的使用与 gzip 命令使用相同
2-4、tar 命令可将大量的文件和目录打包成一个文件
选项 | 说明 |
---|---|
-c | 创建一个新归档文件 |
-x | 解除一个归档文件 |
-f | 当于-c 一起使用时,创建的tar文件使用该选项指定的文件名。当于-x一起使用时,将解除该选项指定的文件,指定文件放选项组合最后 |
-v | 显示文件的归档 / 解除归档的 进度 |
-t | 显示包括在tar 文件中的文件列表,要用 -f 指定tar文档, tar -tf xx.tar , tf 顺序固定 |
-z | 使用 zip 压缩tar 文件 |
-j | 使用 bzip2 压缩tar 文件 |
创建一个 tar 文件输入命令: tar -cvf xxx.tar file1 file2 ./work 解读为:将file1 file2 /work目录下文件打包为 xx.tar文件
列出tar 详细信息:tar -tvf xx.tar
抽取tar文件: tar -xvf xx.tar
tar命令不会压缩文件 使用 -z 实现压缩,tar -cvzf xxx.tar.gz file1 file2 ./work
3、管理使用者和权限命令
3-1、文件权限说明
1、Linux下的文件权限类型一般包括:读(r)、写(w)、执行(x)
2、Linux下权限的粒度分为:拥有者(user)、群组(group)、其他组(other) 三种。每个文件都可以针对三个粒度设置不同的rwx(读、写、执行)权限。通常一个文件归属于一个用户和组,如果一个用户想拥有这个文件的权限,则可加入具备权限的组,一个用户可以同时归属多个组。
3、修改权限的命令为:chmod
一、Linux文件一共有三种身份(文件的使用者):
1、u: 文件的拥有者(user)
2、g: 文件所属的群组(group)
3、o: 其他用户(other)
4、a: 表示所有权限(分配权限时可用到)
二、对于每种身份,又有四种权限:
1、r:读取文件的权限 - read
2、w:写入文件的权限 - write
3、x:执行的权限 - execute
4、s:特殊权限 - special
例如: d rwx r-x r-x
开头表示文件类型,
2-4位:表示 文件拥有者的权限
5-7位:表示 群组拥有的权限
8-10位:表示 其他组拥有的权限
文件使用者 | 说明 | 权限 | 说明 | 增减 | 说明 |
---|---|---|---|---|---|
u | 拥有文件的用户 | r | 读取权 | + | 添加权限 |
g | 所在的群组权限 | w | 写入权 | - | 删除权限 |
o | 其他人 | x | 执行权 | = | 唯一权限 |
a | 全部(u、g、o) |
3-2、文件类型
标记 | 说明 |
---|---|
- | 一般文件,如 .txt 等 |
d | 文件夹 |
l | 符号链接文件 |
b | 磁盘设备文件 |
c | 字符设备文件和磁盘设备文件,主要是和周边硬件的链接,作为系统和硬件之间的接口 |
s | Socket文件,内部通讯的特殊文件,也可作为和远程主机通讯的管道 |
p | 链接文件 |
3-2、权限修改相关命令
命令 | 功能 | 命令 | 功能 |
---|---|---|---|
chmod | 用来改变权限 | useradd | 用来增加用户 or 分配群组 |
su | 用来改变当前登录用户 | passwd | 用来修改用户密码 |
id | 用来查看用户Id,所在分组信息 | groupadd | 用来新增群组 |
3-3、chmod 命令改变许可权限
chmod 用法: chmod 文件的使用者(u/g/o/a) 增/减(+/-/=) 权限名称(r/w/x) 指定文件
例:chmod a+w cui.txt 解释为给 cui.txt 所有身份(u/g/o)增加读(w)的权限,此处 a 可省略 即 = chmod +w cui.txt
可用数字表示权限:r == 4,w == 2,x == 1,即:chmod 751 cui.txt = chmod u+rwx,g=rx,o=x cui.txt
3-4、su 命令改变当前登录用户
su cui 解释为:切换到 cui 这个用户下。
3-5、useradd 命令增加用户
useradd cui 解释为:新增用户,用户名为:cui
useradd -g 组名 用户名 解释为:将某个用户添加到某个组内。
3-6、passwd 命令修改用户密码
passwd cui 解释为:修改用户cui 的密码,确认后提示输入密码。
3-7、groupadd 命令给用户添加组
groupadd tgroup 解释为:新增 tgroup 群组
4、线上查询命令
命令 | 功能 |
---|---|
man | 查询和解释一个命令的使用方法,以及这个命令的说明事项。用法:man 命令名称 |
locate | 定位文件和目录。用法:locate etc |
whatis | 查询某个命令的含义。用法: whatis man |
5、文件阅读命令
命令 | 功能 |
---|---|
head | 查看文件开头部分(10行)用法:head fileName.txt |
tail | 查看文佳结尾部分(10行) 用法:tail fileName.txt 可使用 -f 动态查看 |
less | 分页命令,可一页一页的查看文件信息 用法:less fileName.txt |
more | 分页命令,可一页一页的查看文件信息 |
less 与 more 的主要区别是,less允许使用箭头来前后移动,而more使用空格键或者 b键来前后移动,使用 ls 和 more 来列举 /etc 目录内容:ls -al /etc | more
6、查看系统信息和关机相关命令
命令 | 说明 |
---|---|
shutdown | 正常关机 |
reboot | 重启计算机 |
ps | 查看目前程序执行的情况 |
top | 查看目前程序执行的情况和内存使用情况 |
kill | 终止一个进程 |
date | 更改或查看目前日期 |
cal | 显示月历及年历 |
4-1、shutdown命令
选项 | 功能 |
---|---|
-k | 不是真正的关机,只是发出警告 |
-r | 关机后重启 |
-t | 规定的时间后关机 |
-c | 取消关机命令 |
例如:两分钟后关机: shutdown -r 2。关机后重启:shutdown -r
4-2、reboot命令
直接执行 reboot 命令,不加选项,系统会立即关机,并不会将内存或者缓冲区的内容写进磁盘。
选项 | 功能 |
---|---|
-d | 不把记录写进/var/log/wtmp 档案里 |
-f | 强制重开机,不会使用shutdown命令 |
-n | 在重开机前不将记忆体资料写进磁盘,此命令包含了 -d |
-w | 不会真正的重开机,只是将记录写进 /var/log/wtmp |
4-3、ps命令
ps命令用来查看在计算机系统中有那些正在执行的程序,可以用它来查找出所有的 process id 和 名称,另外,该命令也可以列出所有程序占用内存情况 用法: ps [选项]
选项 | 功能 |
---|---|
-l | 用长格式列出 |
-u | 列出使用者的名称和使用时间 |
-m | 列出内存分布的情况 |
-r | 只列出正在执行的前台程序 |
-x | 列出所有程序,包含哪些没有终端机的程序 |
4-4、top命令
top命令类似 ps 命令,但top命令 会几秒钟更新一次系统状态,方便追踪,ctrl+c 可终止 top 命令。
4-5、kill命令
这个命令执行前,可使用 ps 命令找到对应进程的 pid,用法:kill pid,可终止一个程序。
将 pid 3513 的进程砍掉:kill -9 3513,将 pid 3514 的进程重新跑:kill -HUP 3514
选项 | 功能 |
---|---|
-l | 列出所有可用的信号名称 |
-p | 列出pid 并不发送信号 |
-signal | 其中可用的信号有:重跑:HUP(1) 、砍掉:kill(9)、结束:TERM(15) |
4-6、date命令
标准用法:date -[选项],显示时间格式(以+号开头,后跟格式)date “+%x,%r”
选项 | 功能 |
---|---|
-u | 使用格林尼治时间 |
-r | 最后一次修改文件的时间 |
-s | 设置时间 |
常见的时间格式如下:
选项 | 功能 |
---|---|
%a | 星期几的简称,如:一、二 |
%A | 星期几的全称,如:星期一、星期二 |
%D | 日期(mm/dd/yy 格式) |
%T | 显示时间格式,24小时制(hh:mm:ss) |
%x | 显示日期的格式(mm/dd/yy) |
%y | 年的最后两个数字 |
%Y | 年,如:2022,2021 |
%r | 时间(hh:mm:ss 上午或下午) |
%p | 显示上午或者下午 |
4-7、cal命令
用法:call --------------------->输入当月日历.
call 2022 ---------------------->输出2022全年日历
call 12 2022 ------------------>输出 20220-12月日历