ls 常用选项:
参数 |
含义 |
-a |
显示指定目录下所有子目录与文件,包括隐藏文件.(通常是系统文件) |
-l |
以列表的方式显示文件的详细方式。 |
-h |
必须配合 -l 使用,以人性化的方式显示文件.(就是显示文件大小的单位) |
ls 通配符的使用 —- 快速定位:
通配符 |
含义 |
* |
代表任意个输字符. |
? |
代表任意一个字符,问号的个数至少可以是一个。 |
[] |
表示可以匹配字符组中的任意一个. |
[abc] |
匹配a, b, c 中任意一个. |
[a-f] |
匹配 a 到 f 范围内的任意一个字符. |
\ |
转义字符,例如:ls \a(查找文件名为 a 的文件) 。 |
2. cd(change directory)—— 切换工作目录
cd 常用命令:
命令 |
含义 |
cd/cd ~ |
切换到当前用户的主目录( / 根目录;~ home。目录root用户为:/root,普通用户为:/home/用户名) |
cd. |
保持在当前目录不变。 |
cd .. |
切换到上级目录。 |
cd - |
可以在最近两次的工作目录之间来回切换。 |
cd ./目录1/目录2 |
进入当前目录下的子目录。 |
3. touch —— 创建修改操作
例如: xxx@ubuntu:~$ touch test
- 如文件不存在,则将创建一个新的空白文件。
- 如文件或者目录存在,这会改变目录或文件的时间属性(改为当前系统时间)。
4. mkdir(make directory)—- 创建目录
示例 |
含义 |
mkdir a b c |
创建同一水平的不同目录。 |
mkdir -p a/b/c |
创建递归目录. |
注意:新建目录的名称不能与当前目录中已有的目录或文件同名。
5. rm(remove)—— 删除文件或目录
参数 |
含义 |
-f |
强制删除,忽略不存在的文件,没有提示。 |
-r |
递归的删除目录下的内容,删除不是空目录时必须加上此参数。(rmdir 只能删除空目录) |
注意:使用rm删除后的文件不能恢复,所以要谨慎使用。
6. tree —— 以树状图列出文件目录结构
7.cp(copy)—— 复值目录或文件
参数 |
含义 |
-i |
覆盖文件前提示,用来判断是否已经存在同名文件,并是否需要重新写入。 |
-r |
用于复制目录下所有子目录和文件,目标文件必须是个目录名。 |
8. mv(move)—— 移动文件或目录(也可以给文件或目录重命名)
操作 |
含义 |
mv (-i)(-f)源文件 目标文件 |
- 目标文件不存在,与源文件在同一目录下,则相当于重命名源文件。 - 目标文件不存在,与源文件在不同目录下,则移动源文件。 - 若目标文件是已存在的的文件,则会于替换目标文件原有的内容。
|
mv 源文件 目标目录 |
将文件移动到目标目录下。 |
mv 原目录 目标目录 |
目标目录已存在,则移动到目标目录下;目标目录不存在则改名。 |
因此要用 -i 选项来判断目标文件是否存在,以及是否需要覆盖。
(-f: 在 mv 操作要覆盖某已有的目标文件时不给任何指示)
9. cat(concatenate) —— 查看文件内容,创建文件,合并文件,追加文件内容
操作 |
示例 |
查看文件:对非空输出行编号。 |
cat -b 文件名 |
查看文件:对所有的输出行编号。 |
cat -n 文件名 |
同时查看多个文件:按顺序依次显示。 |
cat 文件1 文件2 |
创建新的文件:然后输入内容,最后空行 ctrl+d 保存文件。 |
cat > 新文件名 |
合并文件:文件1,2依然存在,文件3中的内容会被覆盖掉。 |
cat 文件1 文件2 > 文件3 |
追加文件内容:在原文件上继续添加内容 |
cat >> 文件名(ctrl+d 保存退出)或者 cat 文件1 >> 文件2 |
覆盖文件内容:文件1内容不变,文件2内容被覆盖。 |
cat 文件1 > 文件2 |
10. more —— 分屏显示文件内容,每次只显示一页内容,使用查看内容较多的文件
- cat是一次显示所有的内容,适用查看内容较少的文件。
11. grep —— 在文本文件中进行特定的搜索
选项 |
含义 |
-n |
显示匹配行及行号 |
-v |
显示不包含匹配文本的所有行(相当于取反) |
-i |
忽略大小写 |
例如:在123.txt中查找所有 as单词: grep as 123.txt
两种模式的搜索:
- grep ^f 123.txt 查找所有以 f 开头的行。
- grep a$ 123.txt 查找所有以 a 结尾的行。
12. 管道 | —— 将左端命令的做为右边命令的输入
常用管道命令:
命令 |
举例 |
more |
ls -lah | more 输出的内容分屏显示。 |
grep |
ls -lah | grep as 在输出的内容中查找文件名/目录名包含 as 的。 |
13. echo —— 输出输入的文字内容
- echo hello 显示 hello。
- 常与重定向一起使用。
14. > 和 >> —— 重定向
将本应显示在终端上的内容,输出/追加到指定文件中。
符号 |
含义 |
> |
表示输出,会覆盖文件原有的内容。例:echo hello world! > a |
>> |
表示追加, 会将内容增加到已有文件的末尾。 例:echo hello >> b |
15. 其他常用命令
命令 |
含义 |
clear |
清屏。(windows下为 cls)快捷键: ctrl + l |
file [文件或目录] |
显示文件的类型(目录、text、zip、shell脚本等) |
history |
查看历史命令。 |
pwd |
查看当前所在路径。 |
二、远程管理常用命令
1. shutdown —— 开关机
常用选项:
参数 |
含义 |
sync |
把内存中的数据写到磁盘中。(关机、重启前都需先执行sync) |
shutdown -r now 或 reboot |
立刻重启。 |
shutdown -h now |
立刻关机。 |
shutdown -h 08:00 |
预定时间关闭系统。(若现在超过8点,则明晚8点) |
shutdown -h +10 |
10分钟后关机。 |
shutdown -c |
取消按预定时间关闭系统。 |
2. ifconfig —— 显示或配置网卡信息(临时的)
- 修改IP地址:ifconfig eth0 192.168.120.6
- 修改MAC地址:ifconfig eth0 hw ether 00:AA:BB:CC:DD:EE
3. SSH工具 —— 对数据进行加密和压缩
SSH 是专门为远程登录会话和其他网络服务提供安全性的协议。
- 加密:防止信息泄露。
- 压缩:提高传输速率。
ssh客户端简单的使用格式:ssh [-p port] user@remote
| 参数 | 含义 |
| —- | —- |
| port | ssh server监听的端口,若不指定则默认为 22。(一定要根据服务器来指定,否则可能连不上服务器) |
| user | 是远程机器上的用户名,如果不指定则默认为当前用户。 |
| remote | 是远程机器上的地址,可以是IP地址,也可以是域名。 |
4. Scp(Secure copy)—— 用来远程拷贝文件
常用的命令格式:
作用 |
命令格式(注意选项) |
将文件从本地复制到远端。 |
scp -P port 本地文件名(最好写上绝对路径) user@remote:远程主机上路径+文件名 |
把远端文件复制到本地。 |
scp -P port user@remote:远程要复制文件的路径+文件名 |
复制目录文件。 |
scp -r text root@remote:Desktop(本地复制到远端) |
指定其他端口。 |
scp -P 50 root@remote:/home/123.txt(远程复制到本地当前目录) |
三、用户和权限命令
1. 文件/目录的权限包括:
序号 |
权限 |
英文 |
缩写 |
数字代号 |
01 |
读 |
read |
r |
4 |
02 |
写 |
write |
w |
2 |
03 |
执行 |
excute |
x |
1 |
2. ls -l —— 查看文件夹下文件的详细信息
权限 |
硬连接数 |
拥有者 |
组 |
大小 |
时间 |
名称 |
drwxrwxr-x |
2 |
root |
root |
4096 |
Jan 2 22:09 |
Desktop |
- “d”代表文件夹,”-“代表普通文件,”c”代表硬件字符设备,”b”代表硬件设备。
- 后9个字母分别代表三组权限:文件所有者,用户组,其他用户拥有的权限。
- 硬连接数表示有多少种方式可以访问到当前目录/文件。例:cd . 或 绝对路径
3. chmod —— 修改用户/组 或 文件/目录的权限
- 方法1:chmod +/-[wrx] 文件/目录名
- 方法2:chmod 数字0-7 文件/目录名
4. 超级用户(root账号) —— 用于系统的维护和管理
sudo含义:substitute user 表示使用另一个用户的身份,预设的身份为 root。
5. 组管理
命令 |
作用 |
groupadd 组名 |
添加组。 |
groupdel 组名 |
删除组。 |
cat /etc/group |
确认组信息。 |
chgrp -R(主要用于目录,表示递归)组名 文件/目录名 |
修改文件/目录的所在组。 |
groupmod -n 新组名 旧组名 |
修改用户组名字。 |
6. 用户管理
命令 |
作用 |
说明 |
useradd -m -g 组 新建用户名 |
添加新用户 |
-m 自动建立用户 hom 目录。 -g 指定用户所在的组,否则会建立 一个与新用户名同名的组。 |
passwd 用户名 |
设置用户密码 |
也可以直接修改当前用户的密码。 |
userdel -r 用户名 |
删除用户 |
-r 自动删除用户 home 目录。 |
cat /etc/passwd | grep 用户名 |
确认用户信息 |
新建用户后,用户信息会保存在/etc/passwd 文件中。 |
passwd 文件格式:
用户名 |
密码 |
UID |
GID |
用户全名/本地账号 |
home目录 |
登陆使用的shell |
root |
x(表加密) |
0 |
0 |
root |
/root |
/bin/bash |
7. 查看用户
命令 |
作用 |
id [用户名] |
查看用户UID(用户标识符)和 GID(组标识信息)。 |
who |
查看所有登录的用户列表。 |
whoami |
查看当前登录用户的账户名。 |
8. usermod —— 设置用户的主组/附加组和登录 shell
- 主组:通常在建立用户时指定,在 /etc/passwd/的第四列 GID 对应的组。表示自己创建新的组。
- 附加组:/etc/group中最后一列表示该组的用户列表,表示加入到其他组当中。用于获取附加权限(如:sudo权限)
| 语法格式 | 作用 |
| —- | —- |
| (sudo)usermod -g 组(主组) 用户名 | 修改用户的主组。 |
| (sudo)usermod -G 组(附加组) 用户名 | 修改用户的附加组。 |
| (sudo)usermod -s /bin/bash 用户名 | 修改用户登录的 shell。 |
9. which —— 查看命令所在位置
- /etc/passwd 用于保存用户信息的文件。
- /usr/bin/passwd 用于修改用户密码的程序。
例如: which ls 输出:/bin/ls which useradd 输出:/usr/sbin/usradd
bin 和 sbin 的含义(了解):
- /bin(binary)是二进制执行文件目录,主要用于具体应用。
- /sbin(system binary)是系统管理员专用的二进制代码存放目录,主要用于系统管理。
- /usr/bin 主要用于后期安装的一些软件。
- /usr/sbin(super ~)超级用户的一些管理程序。
10. su —— 切换用户
命令 |
作用 |
su - 目标用户名 |
切换用户,并切换到目标用户的 home 目录。 |
su 目标用户名 |
切换用户,但不切换 home 目录。 |
su |
切换到 root,不推荐使用,不安全。 |
exit |
退出当前登录账户。 |
11. 修改文件权限
命令格式 |
含义 |
chown 用户名 文件名|目录名 |
修改文件/目录的拥有者。 |
chgrp -R 组名 文件名|目录名 |
递归修改文件/目录的组。 |
chmod -R 数字(例:777) 文件名|目录名 |
递归修改文件/目录权限。 |
四、系统信息命令
1. 时间和日期
2. 磁盘信息
命令 |
作用 |
df -h(disk free) |
显示磁盘剩余空间。-h 以人性化的方式磁盘文件大小 |
du -h 目录名(disk usage) |
显示目录下的文件大小。 |
3. 服务与进程信息
命令 |
含义 |
netstat -lnp(t)(network state) 常用方法:netstat -lnp|grep 端口号/进程号/进程名 |
一般用于检验本机各端口的网络连接情况。(l:只列出监听中的连接. n:禁用域名解析功能,查出IP且速度快。p:获取进程名、进程号。t:只列出 TCP协议的连接。) |
ps aux(process status) 常用方法:ps aux|grep 进程号/进程启动命令/服务名 |
查看进程的详细状况。(a:显示终端上的所有进程,包括其他用户的进程。u:显示进程的详细状态。x:显示没有控制终端的进程。(不是终端启动的)) |
top |
动态显示运行中的程序并且排序。(退出可以直接输入 q) |
kill [-9] 进程号 |
终止指定代号 |
示例:ps aux|grep tomcat netstat -lnp|grep 进程号 :查tomcat服务占用的端口。
4. 软/硬链接
- 软链接:相当于快捷方式,源文件删除时,软链接就会失效。
- 硬链接:相当于文件的副本,修改源文件时,副本也会被修改,源文件被删除时,副本依然存在。
| 命令格式 | 说明 |
| —- | —- |
| ln -s 被链接源文件绝对路径+文件名 [新建软件链接名称] | 创建文件软链接。 |
| ln 被链接源文件绝对路径+文件名 [新建软件链接名称] | 创建文件硬链接。 |
两者的差异是在图标上,硬链接的图标是没有快捷方式那样的箭头。
五、打包/解包 和 压缩/解压缩
- tar 打包/解包(后缀 .tar):将一系列文件打包到一个大文件中,也可以恢复回来
- gzip 压缩/解压缩(后缀 .tar.gz):压缩或解压缩 tar 打包后的文件。(仅对单一文件)
- bzip2 压缩/解压缩(后缀 .tar.bz2):压缩或解压缩 tar 打包后的文件。(仅对单一文件)
- zip/unzip 压缩/解压缩(后缀 .zip):压缩或解压缩 zip 打包后的文件。
| 含义 | 命令格式 |
| —- | —- |
| 查看文件类型 | file 文件名 |
| 打包文件 | tar -cvf a.tar 文件1 文件2 …或 路径 |
| 解包文件 | tar -xvf a.tar (到当前目录) |
| 压缩文件 | zip -r b.zip 文件1 文件2 …或 路径 |
| 解压缩文件 | unzip b.zip (到当前目录) / unzip -o e.war -d 目标路径(推荐使用unzip解压war包) |
| 压缩一个文件 | gzip file1 (不能保留源文件) / gzip -9 file1 (最大程度压缩) / bzip2 -k file1 (-k表示保留源文件,bzip2格式,比gzip好) |
| 解压一个文件 | gzip -d file1.gz / bzip2 -d -k file1.bz2 |
| 打包并压缩文件 | tar -zcvf c.tar.gz 文件1 文件2 ….或 路径 |
| 解压缩并解包文件 | tar -zxvf c.tar.gz -C 目标路径 (必须存在) |
| 打包并压缩文件 | tar -jcvf d.tar.bz2 文件1 文件2 ….或 路径 |
| 解压缩并解包文件 | tar -jxvf d.tar.bz2 (到当前目录) |
选项 |
含义 |
c |
生成档案文件,创建打包文件。(压缩) |
C |
指定文件解压到存储的目录。 |
d |
解压文件。 |
f |
指定档案文件的名称,必须放在选项的最后一位。 |
k |
表示保留源文件。 |
o |
表示覆盖原有文件。 |
r |
用于压缩文件夹。 |
z |
压缩/解压缩打包文件。 |