Linux常用指令

Posted 两片空白

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux常用指令相关的知识,希望对你有一定的参考价值。

目录

前言

一.基本操作

文件相关操作

ls指令

pwd命令

cd指令

tree指令

stat指令

touch指令

mkdir指令

rm指令

cp指令

mv指令

man指令

umask指令

 file指令

文件内容显示 

echo指令

cat指令

tac指令

 more指令

less指令

head指令

tail指令

查找 

find指令

 grep指令

which指令

文件压缩 

 zip/unzip指令

 tar指令

时间相关指令

date指令

 Cal指令

其它指令

bc指令

uname指令

 df -h 指令

free指令

top指令

二.文件权限相关

chmod指令

chown指令

 chgrp指令

sudo指令

su指令

二.系统相关指令 

ps指令

kill指令

ln指令

三.网络相关命令

netstat

telnet

pidof

 ifconfig

 tcpdump


前言

        命令是linux下的一个个可执行程序。执行不用加路径,是因为可执行程序保存在PATH环境变量中。

一.基本操作

文件相关操作

  • ls指令

语法:ls [选项] [目录或文件]

功能:对于目录,该命令列出该目录的子目录和文件。对于文件列出文件名及其它信息

常用选项:

  1. -a:列出目录显得所有文件,包括以'.'开头的隐藏文件
  2. -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 [选项] 文件名或者目录

功能:删除文件或者目录

常用选项:

  1. -f:不需要提示,直接删除文件,即使文件属性为只读,也会直接删除
  2. -i:删除前逐一询问是否删除
  3. -r:递归删除目录下的所有文件。不加-r必须是空目录才可以删除目录
rm test.cc:删除文件
rm -rf test:递归并不提示,直接删除目录下的所有文件及目录
  • cp指令

语法:cp [选项] 源文件或者目录 目标文件或者目录

功能:复制文件或者目录,相当于windows下的复制文件。

说明:后面可以加路径,如果最后是目录,并且该目录下不存在同名文件,将该文件拷贝到该目录下。同一目录不能纯在同名文件。

常用选项:

  1. -f:强制复制文件或者目录,不论文件或者目录是否存在
  2. -i:覆盖文件之前先询问用户
  3. -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 [选项] 源文件或者目录 目的文件或者目录

功能:可以用来移动文件会在将文件改名,经常用来备份文件或者目录。

  1. 第一个参数是一个文件,第二个参数是一个文件,文件名不同,会将第一个文件改名
  2. 第一个参数是文件,第二个参数是一个目录,会将文件移动到目录下
  3. 第一个参数是目录,第二个参数是目录或者文件名,会将目录改名。linux下文件名并不代表文件是目录还是文件。

常用选项:

  1. -f:如果目标文件已经存在,不会询问直接覆盖
  2. -i:如果目标文件已经存在,会询问直接覆盖
mv test.c dir :将test.c移动到目录dir下
mv test dir.c :将test目录改名为dir.c,dir.c依旧是目录
  • man指令

语法:man [选项] 命令

功能:查询命令的用法。linux下的命令有很多参数,我们不可能完全记住,可以通过手册查询用法。

常用选项:

  1. 1:普通命令
  2. 2:系统调用
  3. 3:库函数
  4. 5:文件的格式
  5. 6:给游戏留的,有各个游戏自己定义
  6. 7:是附件还有一些变量
  7. 8:系统管理用的命令
man 3 printf
man 2 open
  • umask指令

功能:查看或者修改文件掩码。新建文件掩码=0666.新建目录掩码=0777。实际上的文件或者目录权限不是默认值,实际时 mask & ~umask。

说明:超级用户掩码值为0022,普通用户掩码值为0002。

umask //查看掩码
umask 044//设置掩码
  •  file指令

功能:识别文件类型

文件内容显示 

  • echo指令

功能:将后面的字符串显示在显示器终端

 注意:echo $? ——> 显示最近一个程序的执行返回结果

  • cat指令

语法:cat [选项] [文件]

功能:查看目标文件的内容

常用选项:

  1. -b:对非空输出行号
  2. -n:对输出所有行输出行号
  3. -s:不输出多行空行

  • tac指令

功能:逆序打印

  •  more指令

语法:more [选项] [文件]

功能:文件内容很多时,分页显示。

常用选项:

  1. -n:输出所有行编号
  2. q:退出more

注意:只能回车向下翻,不能用上下键。或者'/+数字'跳到某一行。

  • less指令

用语:less [参数] 文件

功能:less对文件或者其它输出分页显示。功能和more相似,用法上比more更有弹性可以使用上下键上下翻。more只能通过回车向下翻。

常见选项:

  1. -i:忽略搜索时的大小写
  2. -N:显示每行的行号
  3. /:向下搜索"字符串"
  4. ?:向上搜索字符串
  5. n:重复前一个搜索
  6. N:反向重复前一个搜索
  7. q:退出less
  • head指令

语法:head [参数] 文件

功能:显示文件开头到标准输出中,默认显示开头10行

选项:-n<行数> 显示的行数

  • tail指令

语法:tail [参数] 文件

功能:显示文件末尾内容,默认显示末尾10行。

选项:

  1. -f:循环读取
  2. -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 [参数] 文件

功能:用于在文件树中查找文件,并作出相对于的处理

常见的选项:

  1. -name 按照文件名查找文件

  •  grep指令

语法:grep [选项] 字符串或文件

功能:在文件中搜索字符串,将找到的行打印出来。

常用选项:

  1. -i:忽略大小写
  2. -n:顺便输出行数
  3. -v:显示没有该字符串的内容

  • which指令

功能:找到命令所在路径

  •  alias指令

功能:给命令取别名,以后可以通过别名来执行

文件压缩 

  •  zip/unzip指令

语法:zip  压缩文件.zip    目录或者文件

        unzip 文件.zip

        unzip   文件.zip  -d  目录

功能:zip将文件或者目录压缩成zip格式,unzip解压文件

选项:

  1. -r:递归处理,将目录下的所有的文件和子目录一并处理

unzip dir.zip -d dir.c :将dir.zip解压到dir.c目录下
unzip dir.zip          :将dir.zip解压到当前目录下
  •  tar指令

语法:tar [参数] 文件或者目录

功能:解压文件或者目录

常用选项:

  1. -c:建立一个压缩文件
  2. -x:解开一个压缩文件
  3. -z:是否需要使用gzip压缩
  4. -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

在显示方面,格式设定为一个加号接数个标记。标记列表如下:

  1. %H : 小时(00..23)
  2. %M : 分钟(00..59)
  3. %S : (00..61)
  4. %X : 相当于 %H:%M:%S
  5. %d : (01..31)
  6. %m : 月份 (01..12)
  7. %Y : 完整年份 (0000..9999)
  8. %F : 相当于 %Y-%m-%d

 设置时间戳

        Unix时间戳(英文为 Unix epoch, Unix time, POSIX time Unix timestamp )是从 1970 1 1 日( UTC/GMT 的 午夜)开始所经过的秒数,不考虑闰秒。

时间->时间戳:date+%s

时间戳->时间:date -d@ 1636291711

  •  Cal指令

语法:cal [参数] [月份][年份]

功能:用于查看日历等时间信息

选项:

  1. -3:显示系统前一个月,当前月,下个月的月历
  2. -j:显示当年中的第几天
  3. -y:显示当前年份的日历

其它指令

  • bc指令

进行整数计算

  • uname指令

语法:uname [选项]

功能:用来获取电脑和操作系统的相关信息

选项:

  1. -a:显示所有信息

  •  df -h 指令

功能:查看硬盘使用情况

  • free指令

功能:查看内存使用情况

  • top指令

功能:任务管理器

二.文件权限相关

  • chmod指令

功能:设置文件权限

选项:

  1. -R:递归修改文件权限
chmod  u/g/o  +/-  r/w/x  文件名
具体:
chmod u+r test.c //增加拥有者的读权限

chmod 666 test.c//修改文件权限为666
  • chown指令

功能:修改文件拥有者

选项:

  1. -R:递归修改文件拥有者
chown user1 file
  •  chgrp指令

功能:修改文件或者目录的所属组。

选项:

  1. -R:递归修改文件所属组
  • sudo指令

用法:sudo 命令

功能:提高当前执行命令的权限为超级用户。

  • su指令

功能:切换用户,默认切换为超级用户。需要输入对应密码

su//切换为超级用户,输入超级用户密码
su user//切换为user用户,输入user用户密码

二.系统相关指令 

  • ps指令

格式:ps [options] [--help]

功能:显示瞬间行程 (process) 的动态

参数:

  1. -A 显示所有进程(等价于-e)(utility)
  2. -a 显示一个终端的所有进程,除了会话引线
  3. -N 忽略选择。
  4. -d 显示所有进程,但省略所有的会话引线(utility)
  5. -x 显示没有控制终端的进程,同时显示各个命令的具体路径。dx不可合用。(utility)
  6. -p pid 进程使用cpu的时间
  7. -u uid or username 选择有效的用户id或者是用户名
  8. -g gid or groupname 显示组的所有进程。
  9. U username 显示该用户下的所有进程,且显示各个命令的详细路径。如:ps U zhang;(utility)
  10. -f 全部列出,通常和其他选项联用。如:ps -fa or ps -fx and so on.
  11. -l 长格式(有F,wchan,C 等字段)
  12. -j 作业格式
  13. -o 用户自定义格式。
  14. v 以虚拟存储器格式显示
  15. s 以信号格式显示
  16. -m 显示所有的线程
  17. -H 显示进程的层次(和其它的命令合用,如:ps -Ha)(utility)
  18. e 命令之后显示环境(如:ps -d e; ps -a e)(utility)
  19. 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

功能:查看网络状态

参数:

  1. -a (all) 显示所有选项,默认不显示LISTEN相关。
  2. -t (tcp) 仅显示tcp相关选项。
  3. -u (udp) 仅显示udp相关选项。
  4. -n 拒绝显示别名,能显示数字的全部转化成数字。
  5. -l 仅列出有在 Listen (监听) 的服务状态。
  6. -p 显示建立相关链接的程序名
  7. -r 显示路由信息,路由表
  8. -e 显示扩展信息,例如uid等
  9. -s 按各个协议进行统计
  10. -c 每隔一个固定时间,执行该netstat命令。

常用:netstat -nltp

  • telnet

用法:telnet + IP + port

功能:与服务器建立连接

  • pidof

功能:获得可执行程序的pid

  •  ifconfig

功能:查看网络信息

  •  tcpdump

功能:可以对TCP连接的端口号进行抓包

tcpdump -i any -nn tcp port [端口号]//查看进程连接情况

以上是关于Linux常用指令的主要内容,如果未能解决你的问题,请参考以下文章

#yyds干货盘点#Linux中编译C++代码的g++工具,以及g++的常用操作指令

《Linux内核 核心知识全解析(完)》

linux常用指令

Linux vi常用指令使用案例汇总

《Linux从0到99》 一 常用指令

Linux常用指令