1.Linux终端命令格式
#命令 选项 参数
command [-options] [parameter]
ls -l
说明:
command :命令名,相应功能的英文单词或单词的缩写
[-options] :选项,可用来对命令进行控制,也可以省略
parameter :传给命令的参数,可以是零个、一个或者多个
注:[] 代表可选
2.文件和目录常用命令
ls是英文单车list的简写,其功能为列出目录的内容,是用户最常用的命令之一,它类似于DOS下的 dir 命令。
Linux下文件和目录的特点:
- Linux文件或者目录名称最长可以有 256 个字符
- “.”代表当前目录
- “..”代表上一级目录
- 以“.”开头的文件为隐藏文件,需要用 -a 参数才能显示。
ls常用选项
参数 | 含义 |
-a | 显示指定目录下所有子目录与文件,包括隐藏文件 |
-l | 以列表方式显示文件的详细信息 |
-h | 配合-l以人性化的方式显示文件大小 |
-l详细信息含义如图所示:
通配符的使用
通配符 | 含义 |
* | 文件代表文件名中所有字符(0个或多个) |
? | 代表文件名中任意一个字符 |
[] | 表示可以匹配字符组中的任意一个 |
[abc] | 匹配a,b,c中的任意一个 |
[a-f] | 匹配从a到f范围内的任意一个字符 |
示例:
- 星号(*)代表匹配零个或多个字符
-
ls -l /dev/s* //查找dev下以s开头的文件(包含隐藏文件)
-
- 问号(?)代表匹配单个字符
- ls -l /dev/s? ///dev/sda1 /dev/sda2
- 中括号内加上数字[0-9]代表匹配0~9之间的单个数字的字符,而中括号内加上字母[abc]则是代表匹配a、b、c三个字符中的任意一个字符
- ls -l /dev/sda[0-9]
- ls - /dev/sda[135]
创建和输出操作
touch:创建文件或修改文件时间
示列:
touch dml
touch /home/dml
注意:
- 如果文件不存在,可以创建一个空白文件
- 如果文件已经存在,可以修改文件的末次修改日期
mkdir:创建一个新的目录
选项 | 含义 |
-p | 可以递归创建目录 |
示列:
mkdir dml
mkdir /home/dml
注意:
- 新建目录的名称不能与当前目录中已有的目录或文件同名。
rm:删除文件或者目录
参数 | 含义 |
-i | 以进行交互式方式执行 |
-f | 强制删除,忽略不存在的文件,无需提示 |
-r | 递归地删除目录下的内容,删除文件夹时必须加此参数 |
示列:
rm dml
rm dml1 -r
拷贝和移动文件
命令 | 对应英文 | 作用 |
cp 源文件 目标文件 | copy | 复制文件或者目录 |
mv 源文件 目标文件 | move | 移动文件或者目录/文件或者目录重命名 |
cp 命令的功能是将给出的 文件或目录 复制到另一个 文件或目录中,相当于DOS 下的 copy 命令。
用法: cp [选项]... [-T] 源文件 目标文件
或: cp [选项]... 源文件... 目录
或: cp [选项]... -t 目录 源文件...
常用选项说明:
选项 | 含义 |
-a | 将文件的特性一起复制 |
-p | 连同文件的属性一起复制,而非使用默认方式,与-a相似,常用于备份 |
-i | 若目标文件已经存在时,在覆盖时会先询问操作的进行 |
-r | 递归持续复制,用于目录的复制行为 |
-u | 目标文件与源文件有差异时才会复制 |
示例:
cp -p -r test2 test3
cp test1 ./dml/
用户可以使用 mv 命令来移动文件或目录,也可以给文件或目录重命名。
用法: mv [选项]... [-T] 源文件 目标文件
或: mv [选项]... 源文件... 目录
或: mv [选项]... -t 目录 源文件...
选项 | 含义 |
-f | 禁止交互式操作,如有覆盖也不会给出提示 |
-i | 确认交互方式操作,如果mv操作将导致对已存在的目标文件的覆盖,系统会询问是否重写,要求用户 回答以避免误覆盖文件 |
-v | 显示移动进度 |
-u | 若目录文件已存在,且比目标文件新,才会更新 |
示例:
mv -f -u test3 test2
mv ./dml/test2 ./ //将dml目录下的test2移到当前目录下
查看文件内容
命令 | 对应英文 | 作用 |
cat 文件名 | concatenate | 查看文件内容、创建文件、文件合并、追加文件内容等功能 |
more 文件名 | move | 分屏显示文件内容 |
grep 文件名 | grep | 搜索文本文件内容 |
cat 命令可以用来 查看文件内容、创建文件、文件合并、追加文件内容 等功能
cat 会一次显示所有内容,适合 查看内容较少 的文本文件
用法: cat [选项]... [文件]...
选项 | 含义 |
-b | 对非空输出行编号 |
-n | 对输出的所有行编号 |
示例:
cat test
more 命令可以用于分屏显示文件内容,每次只显示一页内容
适合于 查看内容较多的文本文件
用法: more [选项] 文件...
操作键 | 功能 |
空格键 | 显示手册页的下一屏 |
Enter键 | 一次滚动手册页的一行 |
b | 回滚一屏 |
f | 前滚一屏 |
q | 退出 |
/word | 搜索 word 字符串 |
示例:
more test1
Linux系统中 grep 命令是一种强大的文本搜索工具
grep 允许对文本文件进行 模式查找,所谓模式查找,又被称为正则表达式
用法: grep [选项]... PATTERN [FILE]...
选项 | 含义 |
-v | 显示不包含匹配文本的所有行(取反) |
-n | 显示匹配行级行号 |
-i | 忽略大小写 |
grep搜索内容串可以是正则表达式。
grep 常用正则表达式:
参数 | 含义 |
^ | 行首,搜寻以 m 开头的行;grep -n '^a' 1.txt |
$ | 行尾,搜寻以 ke 结束的行;grep -n 'ke$' 1.txt |
[Ss]igna[Ll] | 匹配 [] 里中一系列字符中的一个;搜寻匹配单词signal、signaL、Signal、SignaL的行;grep -n '[Ss]igna[Ll]' 1.txt |
\ | 转义字符,忽略正则表达式中特殊字符的原有含义 |
示例:
grep ‘as’ test1 //显示在test1文件中匹配’as’的行
grep ‘\{5\}’ test1 //显示所有包含每个字符串至少有5个连续小写字符的字符串的行
系统信息相关命令
重启与关机
命名 | 作用 | 说明 |
reboot | 重新启动操作系统 | 执行命令后立即重启操作系统 |
shudown | 关闭操作系统 | 执行命令后,提示1分钟后关闭操作系统 |
示列:
Linux会进行重启操作。
shutdown 命令的选项:
命令 | 含义 |
shoutdown -r now | 重新启动操作系统,shutdown会给别的用户提示 |
shoutdown -h now | 立刻关机,其中now相当于时间为0的状态 |
shoutdown -h 20:25 | 系统在今天的20:25 会关机 |
shoutdown -h +10 | 系统再过十分钟后自动关机 |
ps查看系统进程:
所谓进程,通俗的讲就是 当前正在执行的一个程序 。
命令 | 含义 |
ps -aux | process status 查看当前系统中正在执行程序的详细状况 |
kill [-9] 进程代号 | 终止指定代号的进程,-9表示强行终止 |
top | 动态显示运行中的进程并且排序 |
示例:
ps -aux //查看当前内存中所有进程
ps -aux|grep 6379 //查找指定端口号的进程
kill -9 6379 //终止PID为6379的进程
ps 默认只会显示当前用户通过
终端启动的应用程序
ps 选项说明
选项 | 含义 |
-a | 显示终端上的所有进程,包括其他用户的进程 |
-u | 显示进程的详细状态 |
-x | 显示没有控制终端的进程 |
说明:
USER:该 process 属于那个使用者账号的
PID :该 process 的号码
%CPU:该 process 使用掉的 CPU 资源百分比
%MEM:该 process 所占用的物理内存百分比
VSZ :该 process 使用掉的虚拟内存量 (Kbytes)
RSS :该 process 占用的固定的内存量 (Kbytes)
TTY :该 process 是在那个终端机上面运作,若与终端机无关,则显示 ?,另外, tty1-tty6 是本机上面的登入者程序,若为 pts/0 等等的,则表示为由网络连接进主机的程序。
STAT:该程序目前的状态,主要的状态有
R :该程序目前正在运作,或者是可被运作
S :该程序目前正在睡眠当中 (可说是 idle 状态),但可被某些讯号 (signal) 唤醒。
T :该程序目前正在侦测或者是停止了
Z :该程序应该已经终止,但是其父程序却无法正常的终止他,造成 zombie (疆尸) 程序的状态
START:该 process 被触发启动的时间
TIME :该 process 实际使用 CPU 运作的时间
COMMAND:该程序的实际指令
每一个进程拥有唯一的pid,可以根据pid杀死进程,如:
kill 12478 或 kill -9 12478(强制杀死)
注意:显示瞬间进程的状态,并不动态连续,如果想对进程运行时间监控,应该用top命令
查看系统监听的端口
netstat 命令用于显示各种网络相关信息
常用于查看软件打开的端口信息
注意:一般需要root用户权限,才能看到更详细的端口信息
命令 | 作用 | 说明 |
netstat | 用于查看显示网络状态 | |
netstat -anptu | 查看所有的进程和端口使用清空 | 一般用来查看端口被哪些程序使用,但是我们不单独使用 |
netsta -anptu \ | grep mysql | 结合grep查找指定程序打开的端口 比如这里查找的就是mysql 正在使用的端口号 |
选项说明:
选项 | 含义 |
-a | 显示所有已打开的端口 |
-n | 不用别名显示,只用数字显示 |
-p | 显示进程号(pid)和进程名 |
-t | 显示所有tcp协议端口 |
-u | 显示所有udp协议端口 |
lsof(list open files)是一个列出当前系统打开文件的工具
可以用于查看系统中正在使用端口的详细信息
注意:一般需要root用户权限,才能看到更详细的端口信息
命令 | 作用 | 说明 |
lsof -i | 如果不给出条件,则默认显示所有进程打开的所有文件 | |
lsof -i:3306 | 列出使用端口3306的进程信息 | 这里是查看3306这个端口被哪个应用程序占用了 |
提示:linux系统中安装软件时,会出现因为端口被占用而无法安装的情况,这个时候就需要我们用lsof -i命令查看安装软件要使用的端口是否被占用。
查看日志信息
head 命令
命令 | 作用 | 说明 |
head | 用来显示文件前10行的内容 | 如果不加参数默认显示文件前10行内容 |
head -15 文件名 | 显示文件前15行内容 |
例子:查看某个文件的开头10行内容:head -10 temp.txt
提示:一般用于,想要查看一个很大的文件前几行内容时使用。
tail 命令
命令 | 作用 | 说明 |
tail | 显示文件后10行内容 | 如果不加参数默认显示文件后10行内容 |
tail -15 文件名 | 显示文件结尾15行内容 | |
tail -f 文件名 | 实时监控文件内容 | 用于查看线上服务的运行日志,实时显示写入日志的信息 |
例子1:查看某个文件的结尾10行内容:tail -10 temp.txt
tail -f 实例
实时监控文件变化:
- 不停的向文件写入内容:ping www.baidu > temp.txt
- 实时监控:tail -f temp.txt
用户权限和管理
用户 和 权限 的基本概念
对 文件/目录 的权限包括:
权限 | 英文 | 缩写 | 数字代号 |
读 | read | r | 4 |
写 | write | w | 2 |
执行 | execute | x | 1 |
无权限 | - | 0 |
chmod 命令-字母法
- chmod 修改文件权限有两种使用格式:字母法与数字法。
- 字母法:chmod u+r 文件名
用户类型:
用户 | 含义 |
u | user 表示该文件的所有者 |
g | group 表示于该文件的所有者属于同一组(group)者,即用户组 |
o | other 表示其他以外的人 |
a | all 表示这三者皆是 |
权限设置:
增减 | 含义 |
+ | 增加权限 |
- | 撤销权限 |
= | 设定权限 |
示例:
#将文件 file1.txt 设为所有人皆可读取
chmod ugo+r file1.txt
或者:
chmod a+r file1.txt
#将目前目录下的所有文件与子目录皆设为任何人可读取 :
chmod -R a+r *
chmod 命令-数字法
chmod 在设置权限时,可以简单的使用三个数字分别对用 拥有者 /组和其他用户的权限
数字法:chmod 755 文件名
权限对照图:
常见数字组合有(u表示用户/g表示组/o表示其他):
777 ===> u=rwx, g=rwx, o=rwx
755 ===> u=rwx, g=rx, o=rx
644 ===> u=rw, g=r, o=r
此外chmod也可以用数字来表示权限如 :
chmod 777 file
用户管理
查看命令位置:which
命令 | 含义 |
which ls | 查看ls命令在系统中的位置 |
which python | 查看python程序安装在系统中的位置 |
切换账号: su
命令 | 作用 | 说明 |
su - | 切换到root用户 | |
su -用户名 | 切换到指定的用户,并切换目录 | -可以切换到用户家目录,否则位置保持不变 |
su 不接用户名,可以直接切换到 root,但是不推荐使用,因为不安全。
设置用户密码:passwd
在Unix/Linux中,超级用户可以使用passwd命令为普通用户设置或修改用户密码。
用户也可以直接使用该命令来修改自己的密码,而无需在命令后面使用用户名。
命令 | 作用 | 说明 |
passwod 用户名 | 设置用户名 | 如果是普通用户,直接用passwd可以修改自己的账号密码 |
退出登录账户: exit
如果是图形界面,退出当前终端;
如果是使用ssh远程登录,退出登陆账户;
如果是切换后的登陆用户,退出则返回上一个登陆账号。
查看登录用户:who
who命令用于查看当前所有登录系统的用户信息
命令 | 作用 | 说明 |
who | 查看当前所有登录系统的用户信息 |
常用选项:
选项 | 含义 |
-q 或 --count | 只显示用户的登录账号和登录用户的数量 |
-u 或 --heading | 显示列标题 |
其他命令
查找文件:
find命令功能非常强大,通常用来在特定的目录下 搜索符合条件的文件。
命令 | 作用 |
find [路径] -name"*.py" | 查找指定路径下扩展名是.py的文件,包括子目录 |
如果省略路径,表示在当前文件夹下查找
之前学习的通配符,在使用 find 命令时也可用
常用用法:
命令 | 作用 |
find . -name test.sh | 查找当前目录下所有名为test.sh的文件 |
find .-name'*.sh' | 查找当前目录下所有后缀为.sh的文件 |
软连接:
In -s
命令 | 作用 |
ln -s 源文件 链接文件 | 建立文件的软连接,用通俗的方式讲 类似于Windows下的 快捷方式 |
注意:
软链接只是指向源文件的一个链接(可以理解为快捷方式)
源文件要使用绝对路径,不能使用相对路径,这样可以方便移动链接文件后,仍然能够 正常使用
软链接可以链接目录
硬链接简介
在使用 ln 创建链接时,如果没有 -s 选项,会创建一个 硬链接,而不是软链接
两个文件大小时相同的,即使删除了源文件,链接文件还是存在,所以软链接是更常用的方式。
打包和压缩:
打包压缩 是日常工作中备份文件的一种方式
在不同操作系统中,常用的打包压缩方式时不同的
Windows 常用 rar
Mac 常用 zip
Linux 常用 tar.gz
tar打包/解包
tar 是 Linux 中最常用的备份工具,此命令可以把一系列文件打包到一个大文件中,也可以把打包的文件恢复成一系列文件。
(tar命令即可打包,也可解包,但tar只打包,并不实现压缩)
tar 使用格式如下:
#打包文件
tar -cvf 打包文件.tar 被打包的文件/路径...
#解包文件
tar -xvf 打包文件.tar
tar 常用选项说明:
参数 | 含义 |
-c | 新建打包文件 |
-v | 列出归档解档的详细过程,显示进度 |
-f | 指定档案文件名称,f后面一定时.tar文件,所以必须放选项最后 |
-t | 列出档案中包含的文件 |
-x | 解开档案文件 |
-j | 通过bzip2的支持进行压缩/解压缩 |
-z | 通过gzip的支持进行压缩/解压缩 |
-C dir | 指定压缩/解压缩的目录dir |
注意:
f 选项必须放在最后,其他选项顺可以随意
注意-c、-t、-x不能同时出现在同一条命令中
示例:
#压缩
tar -jcv -f filename.tar.bz2 要被处理的文件或目录名称
#查询
tar -jtv -f filename.tar.bz2
#解压
tar -jxv -f filename.tar.bz2 -C 欲解压缩的目录
压缩/解压缩
tar与gzip命令结合使用实现文件 打包、压缩。
tar只负责打包文件,但不压缩
用gzip压缩tar打包后的文件,其扩展名一般用 xxxx.tar.gz。
gzip使用格式如下:
gzip [选项] 被压缩文件 (gzip -r xx.tar)
常用选项:
选项 | 含义 |
-r | 压缩所有子目录 |
-d | 解压 |
-c | 解压缩到指定的目录,注意:要解压缩的目录必须存在 |
tar 命令中增加一个选项 -z 可以调用 gzip 实现了一个压缩的功能,实行一个先包 后压缩的过程。
命令格式如下:
# 压缩文件
tar -zcvf 打包文件.tar.gz 被压缩的文件/路径...
# 解压缩文件
tar -zxvf 打包文件.tar.gz
# 解压缩到指定路径
tar -zxvf 打包文件.tar.gz -C 目标路径
bzip2(two)
tar 与 bzip2 命令结合使用实现文件打包、压缩(用法和 gzip 一样)
tar 只负责打包文件,但不压缩
用 bzip2 压缩 tar 打包后的文件,其扩展名一般用 xxxx.tar.bz2
在 tar 命令中增加一个选项 -j 可以调用 bzip2 ,实现了一个压缩的功能,实行一个先打 包后压缩的过程。
命令格式如下:
# 压缩文件
tar -jcvf 打包文件.tar.bz2 被压缩的文件/路径...
# 解压缩文件
tar -jxvf 打包文件.tar.bz2
zip、unzip
通过 zip 压缩文件的目标文件不需要指定扩展名,默认扩展名为 zip 。
命令格式如下:
# 压缩文件
zip [-r] 打包文件 被压缩的文件
# 解压缩文件
unzip -d 解压后的目录 打包文件.zip
更多推荐
Linux常用命令 (超级详细版必看)
发布评论