Linux常用指令
Posted 两片空白
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux常用指令相关的知识,希望对你有一定的参考价值。
目录
前言
命令是linux下的一个个可执行程序。执行不用加路径,是因为可执行程序保存在PATH环境变量中。
一.基本操作
文件相关操作
-
ls指令
语法:ls [选项] [目录或文件]
功能:对于目录,该命令列出该目录的子目录和文件。对于文件列出文件名及其它信息
常用选项:
- -a:列出目录显得所有文件,包括以'.'开头的隐藏文件
- -l:列出文件的详细信息
ls -a
ls -l == ll
//组合使用
ls -al
-
pwd命令
语法:pwd
功能:显示用户当前所在目录
-
cd指令
语法:cd 目录名
功能:改变工作目录。将当前工作目录改变到指定工作目录下
cd .. :返回上一级目录
cd /home/test :绝对路径进入test目录
cd ./test :相对路径进入test目录
cd ~ :进入主工作目录
cd - :进入最近访问的目录
-
tree指令
功能:查看目录下的文件或者子目录,不包括隐藏文件
-
stat指令
语法:stat 目录或者文件
功能:查看文件或者目录属性
-
touch指令
语法:touch [选项] 文件
功能:touch命令可以更改文档或者目录的日期时间,包括存取和更改时间,或者是创建一个文件。
touch test.txt
-
mkdir指令
语法:mkdir [选项] 目录名
功能:在当前目录下创建一个目录
选项:
- -p:可以是一个路径。在这个路径中,某些目录不存在,系统会自动建立不存在的目录。
mkdir test
mkdir /test/test1/test2
-
rm指令
语法:rm [选项] 文件名或者目录
功能:删除文件或者目录
常用选项:
- -f:不需要提示,直接删除文件,即使文件属性为只读,也会直接删除
- -i:删除前逐一询问是否删除
- -r:递归删除目录下的所有文件。不加-r必须是空目录才可以删除目录
rm test.cc:删除文件
rm -rf test:递归并不提示,直接删除目录下的所有文件及目录
-
cp指令
语法:cp [选项] 源文件或者目录 目标文件或者目录
功能:复制文件或者目录,相当于windows下的复制文件。
说明:后面可以加路径,如果最后是目录,并且该目录下不存在同名文件,将该文件拷贝到该目录下。同一目录不能纯在同名文件。
常用选项:
- -f:强制复制文件或者目录,不论文件或者目录是否存在
- -i:覆盖文件之前先询问用户
- -r(递归处理):将指定目录下的文件和子目录一并复制到目的目录下。目录需要添加。
cp test.c test1.c :将test.c在当前目录拷贝成test1.c
cp test.c dir/test1.c :将test.c拷贝到dir目录下的test1.c中
cp test.c dir :将test.c拷贝到dir目录下
cp -r test1 dir :将test1拷贝到目录dir下
-
mv指令
语法:mv [选项] 源文件或者目录 目的文件或者目录
功能:可以用来移动文件会在将文件改名,经常用来备份文件或者目录。
- 第一个参数是一个文件,第二个参数是一个文件,文件名不同,会将第一个文件改名
- 第一个参数是文件,第二个参数是一个目录,会将文件移动到目录下
- 第一个参数是目录,第二个参数是目录或者文件名,会将目录改名。linux下文件名并不代表文件是目录还是文件。
常用选项:
- -f:如果目标文件已经存在,不会询问直接覆盖
- -i:如果目标文件已经存在,会询问直接覆盖
mv test.c dir :将test.c移动到目录dir下
mv test dir.c :将test目录改名为dir.c,dir.c依旧是目录
-
man指令
语法:man [选项] 命令
功能:查询命令的用法。linux下的命令有很多参数,我们不可能完全记住,可以通过手册查询用法。
常用选项:
- 1:普通命令
- 2:系统调用
- 3:库函数
- 5:文件的格式
- 6:给游戏留的,有各个游戏自己定义
- 7:是附件还有一些变量
- 8:系统管理用的命令
man 3 printf
man 2 open
-
umask指令
功能:查看或者修改文件掩码。新建文件掩码=0666.新建目录掩码=0777。实际上的文件或者目录权限不是默认值,实际时 mask & ~umask。
说明:超级用户掩码值为0022,普通用户掩码值为0002。
umask //查看掩码
umask 044//设置掩码
-
file指令
功能:识别文件类型
文件内容显示
-
echo指令
功能:将后面的字符串显示在显示器终端
注意:echo $? ——> 显示最近一个程序的执行返回结果
-
cat指令
语法:cat [选项] [文件]
功能:查看目标文件的内容
常用选项:
- -b:对非空输出行号
- -n:对输出所有行输出行号
- -s:不输出多行空行
-
tac指令
功能:逆序打印
-
more指令
语法:more [选项] [文件]
功能:文件内容很多时,分页显示。
常用选项:
- -n:输出所有行编号
- q:退出more
注意:只能回车向下翻,不能用上下键。或者'/+数字'跳到某一行。
-
less指令
用语:less [参数] 文件
功能:less对文件或者其它输出分页显示。功能和more相似,用法上比more更有弹性可以使用上下键上下翻。more只能通过回车向下翻。
常见选项:
- -i:忽略搜索时的大小写
- -N:显示每行的行号
- /:向下搜索"字符串"
- ?:向上搜索字符串
- n:重复前一个搜索
- N:反向重复前一个搜索
- q:退出less
-
head指令
语法:head [参数] 文件
功能:显示文件开头到标准输出中,默认显示开头10行
选项:-n<行数> 显示的行数
-
tail指令
语法:tail [参数] 文件
功能:显示文件末尾内容,默认显示末尾10行。
选项:
- -f:循环读取
- -n<行数>显示的行数
有一个文件共有100行内容,请取出第50行内容<br>
seq 1 100 > test # 生成1到100的序列装入test
方法1 head -n50 test > tmp #将前50行装入临时文件tmp
tail -n1 tmp #得到tmp的最后一行
方法2 head -n50 test | tail -n1
">"重定向:将显示到标准输出上的内容,打印到文件中
"|"管道:将一个程序执行的结果,发送给另外一个程序作为输出。
查找
-
find指令
语法:find [参数] 文件
功能:用于在文件树中查找文件,并作出相对于的处理
常见的选项:
- -name 按照文件名查找文件
-
grep指令
语法:grep [选项] 字符串或文件
功能:在文件中搜索字符串,将找到的行打印出来。
常用选项:
- -i:忽略大小写
- -n:顺便输出行数
- -v:显示没有该字符串的内容
-
which指令
功能:找到命令所在路径
- alias指令
功能:给命令取别名,以后可以通过别名来执行
文件压缩
-
zip/unzip指令
语法:zip 压缩文件.zip 目录或者文件
unzip 文件.zip
unzip 文件.zip -d 目录
功能:zip将文件或者目录压缩成zip格式,unzip解压文件
选项:
- -r:递归处理,将目录下的所有的文件和子目录一并处理
unzip dir.zip -d dir.c :将dir.zip解压到dir.c目录下
unzip dir.zip :将dir.zip解压到当前目录下
-
tar指令
语法:tar [参数] 文件或者目录
功能:解压文件或者目录
常用选项:
- -c:建立一个压缩文件
- -x:解开一个压缩文件
- -z:是否需要使用gzip压缩
- -f:使用的文档名,f后必须加文档名,不要加参数
tar -czf dir.tgz dir.c//压缩
tar -czf test2.c test2.tgz
tar -xzf dir.tgz//解压
tar -xzf text2.tgz
时间相关指令
-
date指令
语法:date [选项],具体:date +%Y:%m:%d
在显示方面,格式设定为一个加号接数个标记。标记列表如下:
- %H : 小时(00..23)
- %M : 分钟(00..59)
- %S : 秒(00..61)
- %X : 相当于 %H:%M:%S
- %d : 日 (01..31)
- %m : 月份 (01..12)
- %Y : 完整年份 (0000..9999)
- %F : 相当于 %Y-%m-%d
设置时间戳
时间->时间戳:date+%s
时间戳->时间:date -d@ 1636291711
-
Cal指令
语法:cal [参数] [月份][年份]
功能:用于查看日历等时间信息
选项:
- -3:显示系统前一个月,当前月,下个月的月历
- -j:显示当年中的第几天
- -y:显示当前年份的日历
其它指令
-
bc指令
进行整数计算
-
uname指令
语法:uname [选项]
功能:用来获取电脑和操作系统的相关信息
选项:
- -a:显示所有信息
-
df -h 指令
功能:查看硬盘使用情况
-
free指令
功能:查看内存使用情况
-
top指令
功能:任务管理器
二.文件权限相关
-
chmod指令
功能:设置文件权限
选项:
- -R:递归修改文件权限
chmod u/g/o +/- r/w/x 文件名
具体:
chmod u+r test.c //增加拥有者的读权限
chmod 666 test.c//修改文件权限为666
-
chown指令
功能:修改文件拥有者
选项:
- -R:递归修改文件拥有者
chown user1 file
-
chgrp指令
功能:修改文件或者目录的所属组。
选项:
- -R:递归修改文件所属组
-
sudo指令
用法:sudo 命令
功能:提高当前执行命令的权限为超级用户。
-
su指令
功能:切换用户,默认切换为超级用户。需要输入对应密码
su//切换为超级用户,输入超级用户密码
su user//切换为user用户,输入user用户密码
二.系统相关指令
-
ps指令
格式:ps [options] [--help]
功能:显示瞬间行程 (process) 的动态
参数:
- -A 显示所有进程(等价于-e)(utility)
- -a 显示一个终端的所有进程,除了会话引线
- -N 忽略选择。
- -d 显示所有进程,但省略所有的会话引线(utility)
- -x 显示没有控制终端的进程,同时显示各个命令的具体路径。dx不可合用。(utility)
- -p pid 进程使用cpu的时间
- -u uid or username 选择有效的用户id或者是用户名
- -g gid or groupname 显示组的所有进程。
- U username 显示该用户下的所有进程,且显示各个命令的详细路径。如:ps U zhang;(utility)
- -f 全部列出,通常和其他选项联用。如:ps -fa or ps -fx and so on.
- -l 长格式(有F,wchan,C 等字段)
- -j 作业格式
- -o 用户自定义格式。
- v 以虚拟存储器格式显示
- s 以信号格式显示
- -m 显示所有的线程
- -H 显示进程的层次(和其它的命令合用,如:ps -Ha)(utility)
- e 命令之后显示环境(如:ps -d e; ps -a e)(utility)
- h 不显示第一行
常用:
ps -axj 和 ps -aux查看进程相关信息。
ps -aL查看线程相关信息
-
kill指令
功能:向进程发送信号,或者杀掉一个进程
kill 27911 //杀死pid为27911的进程
kill -9 27911//向进程pid为27911发送9号信号
-
ln指令
功能:
ln myfile myfile.hlink:建立硬连接,myfile的硬连接为myfile.hlink
ln -s myfile myfile.slink:建立软连接,myfile的软连接为myfile.slink
三.网络相关命令
-
netstat
功能:查看网络状态
参数:
- -a (all) 显示所有选项,默认不显示LISTEN相关。
- -t (tcp) 仅显示tcp相关选项。
- -u (udp) 仅显示udp相关选项。
- -n 拒绝显示别名,能显示数字的全部转化成数字。
- -l 仅列出有在 Listen (监听) 的服务状态。
- -p 显示建立相关链接的程序名
- -r 显示路由信息,路由表
- -e 显示扩展信息,例如uid等
- -s 按各个协议进行统计
- -c 每隔一个固定时间,执行该netstat命令。
常用:netstat -nltp
-
telnet
用法:telnet + IP + port
功能:与服务器建立连接
-
pidof
功能:获得可执行程序的pid
-
ifconfig
功能:查看网络信息
-
tcpdump
功能:可以对TCP连接的端口号进行抓包
tcpdump -i any -nn tcp port [端口号]//查看进程连接情况
以上是关于Linux常用指令的主要内容,如果未能解决你的问题,请参考以下文章