Linux命令大全:掌握常用命令,轻松使用Linux操作系统-程序员宅基地

技术标签: 运维  linux  服务器  


前言

Linux常用命令是指在Linux操作系统中广泛使用的命令工具,这些命令工具可以完成各种不同的任务,如管理文件和目录、操作进程、网络通信、软件安装等。一些常用的Linux命令包括cd、ls、mkdir、rm、cp、mv、ps、top、ping、ssh、tar、grep、find、shutdown、reboot、apt和yum等。这些命令工具通常都具有各自的选项和参数,可以用来进行更加精细和复杂的操作。掌握这些常用的Linux命令,可以帮助用户更加高效地使用Linux操作系统,并完成各种不同的任务。

一、cd命令

  • cd: cd命令用于切换当前工作目录到指定的目录。例如,输入"cd /home/user"可将当前目录切换到/home/user目录。常用选项如下:
cd ..		返回上一级目录
cd../.. 	返回上两级目录
cd ~		进入个人主目录
cd -		返回上次所在的目录

二、pwd命令

  • pwd: pwd命令用于显示当前工作目录的完整路径

三、ls命令

  • ls命令: 用于显示指定目录下的文件和目录列表。如果没有指定目录,则默认显示当前目录下的文件和目录列表。
ls		    查看当前目录下的文件
ls -l(ll)	查看文件和目录的详细资料
ls -a		列出全部文件,包含隐藏文件
ls -R		连同子目录的内容一起列出(递归列出文件)
ls [0-9]    显示包含数字的文件名和目录名

四、cp命令

  • cp: cp命令用于复制指定的文件或目录。例如,输入"cp file.txt /home/user"可将当前目录下名为file.txt的文件复制到/home/user目录下。
-a :将文件的特性一起复制
-p :连同文件的属性一起复制,而非使用默认方式,与-a相似,常用于备份
-i :若目标文件已经存在时,在覆盖时会先询问操作的进行
-r :递归持续复制,用于目录的复制行为
-u :目标文件与源文件有差异时才会复制

五、mv命令

  • mv: mv命令用于移动指定的文件或目录。例如,输入"mv file.txt /home/user"可将当前目录下名为file.txt的文件移动到/home/user目录下。
-f		若目标已经存在,不会询问。
-i		若目标文件已经存在,则询问是否覆盖
-u		若目标文件已经存在。且比目标文件新,才会更新

六、rm命令

  • rm: rm命令用于删除指定的文件或目录。
-f	  忽略不存在的文件,不会存在警告消息
-i	  在删除前会询问用户是否操作、
-r	  递归删除,常常用于目录删除
eg: rm -rf: 删库跑路常用代码

七、cat命令

  • cat: cat命令用于查看指定文件的内容。例如,输入"cat file.txt"可显示出名为file.txt的文件的内容。
cat file1 	从第一个字节开始正向查看文件的内容
tac file1 	从最后一行开始反向查看一个文件的内容
cat -n file1 	标示文件的行数
more file1 	查看一个长文件的内容
head -n 2 file1 	查看一个文件的前两行
tail -n 2 file1 	查看一个文件的最后两行
tail -n +1000 file1  	从1000行开始显示,显示1000行以后的
cat filename | head -n 3000 | tail -n +1000  	显示1000行到3000行
cat filename | tail -n +3000 | head -n 1000  	从第3000行开始,显示1000(即显示3000~3999)

八、find命令

  • find: find命令用于在文件系统中查找文件。例如,输入"find / -name file.txt"可在文件系统的根目录下查找所有名为file.txt的文件,并将结果输出到屏幕上。“-type"表示按照文件类型查找,”-mtime"表示按照文件修改时间查找等。
find / -name file1 	从 '/' 开始进入根文件系统搜索文件和目录
find / -user user1 	搜索属于用户 'user1' 的文件和目录
find /usr/bin -type f -atime +100 		搜索在过去100天内未被使用过的执行文件
find /usr/bin -type f -mtime -10 		搜索在10天内被创建或者修改过的文件
whereis halt 	显示一个二进制文件、源码或man的位置
which halt 	显示一个二进制文件或可执行文件的完整路径

九、chmod命令

  • chmod命令 :chmod命令用于修改指定文件或目录的权限。例如,输入"chmod 755 file.txt"可将名为file.txt的文件的权限设置为755,即所有者具有读、写和执行权限,组用户和其他用户只有读和执行权限。
ls -lh 显示权限
chmod ugo+rwx directory1 设置目录的所有人(u)、群组(g)以及其他人(o)以读(r,4 )、写(w,2)和执行(x,1)的权限
chmod go-rwx directory1  删除群组(g)与其他人(o)对目录的读写执行权限

十、chown命令

  • chown命令: chown命令用于修改指定文件或目录的所有者。例如,输入"chown user file.txt"可将名为file.txt的文件的所有者设置为user。
(改变文件的所有者)
chown user1 file1 改变一个文件的所有人属性
chown -R user1 directory1 改变一个目录的所有人属性并同时改变改目录下所有文件的属性
chown user1:group1 file1 改变一个文件的所有人和群组属性

十一、chgrp命令

(改变文件所属用户组)

chgrp group1 file1 改变文件的群组

十二、grep命令

  • grep命令: grep命令用于在指定文件中查找匹配的文本。例如,输入"grep keyword file.txt"可在名为file.txt的文件中查找包含关键词"keyword"的文本行。
(分析一行的信息,若当中有我们所需要的信息,就将该行显示出来,该命令通常与管道命令一起使用,用于对一些命令的输出进行筛选加工等等)
grep Aug /var/log/messages  在文件 '/var/log/messages'中查找关键词"Aug"
grep ^Aug /var/log/messages 在文件 '/var/log/messages'中查找以"Aug"开始的词汇
grep [0-9] /var/log/messages 选择 '/var/log/messages' 文件中所有包含数字的行
grep Aug -R /var/log/* 在目录 '/var/log' 及随后的目录中搜索字符串"Aug"
sed 's/stringa1/stringa2/g' example.txt 将example.txt文件中的 "string1" 替换成 "string2"
sed '/^$/d' example.txt 从example.txt文件中删除所有空白行

十三、paste命令

  • paste: paste命令用于将两个或多个文件按行合并,并将结果输出到标准输出。其语法为:
paste [option]... [file]...

paste file1 file2 合并两个文件或两栏的内容
paste -d '+' file1 file2 合并两个文件或两栏的内容,中间用"+"区分

十四、sort命令

  • sort: sort命令用于对文件进行排序,其语法为:
sort [option]... [file]... :其中,option表示选项,file表示要排序的文件名。如果不指定文件名,则默认从标准输入读取数据。
-r:降序排列。
-n:按数值大小排序。
-u:去重,只输出不重复的行。
-k:指定排序的键,可以是行中的某个字段。


sort file1 file2 排序两个文件的内容
sort file1 file2 | uniq 取出两个文件的并集(重复的行只保留一份)
sort file1 file2 | uniq -u 删除交集,留下其他的行
sort file1 file2 | uniq -d 取出两个文件的交集(只留下同时存在于两个文件中的文件)

十五、comm命令

  • comm: comm命令用于比较两个已排序的文件,并输出它们的交集、差集和并集。其语法为:
comm [option]... file1 file2
其中,option表示选项,file1和file2表示要比较的两个文件。常用选项包括:
-1:只输出file1中有而file2中没有的行。
-2:只输出file2中有而file1中没有的行。
-3:只输出file1和file2中都存在的行。
-i:在比较时忽略大小写。
-u:将所有不同的行都输出。

comm -1 file1 file2 比较两个文件的内容只删除 'file1' 所包含的内容
comm -2 file1 file2 比较两个文件的内容只删除 'file2' 所包含的内容
comm -3 file1 file2 比较两个文件的内容只删除两个文件共有的部分

十六、tar命令

  • tar命令: 用于打包和压缩文件和目录。例如,输入"tar -cvzf archive.tar.gz /home/user"可将/home/user目录及其下的所有文件打包成名为archive.tar.gz的压缩文件。
    (对文件进行打包,默认情况并不会压缩,如果指定了相应的参数,它还会调用相应的压缩程序(如gzip和bzip等)进行压缩和解压)推荐:

16-1、参数介绍

-c :新建打包文件
-t :查看打包文件的内容含有哪些文件名
-x :解打包或解压缩的功能,可以搭配-C(大写)指定解压的目录,注意-c,-t,-x不能同时出现在同一条命令中
-j :通过bzip2的支持进行压缩/解压缩
-z :通过gzip的支持进行压缩/解压缩
-v :在压缩/解压缩过程中,将正在处理的文件名显示出来
-f filename :filename为要处理的文件
-C dir :指定压缩/解压缩的目录dir

16-2、tar.bz2格式文件

# 这种压缩格式文件是压缩率最好的,当然,也会相应的占用更多的CPU和时间
# 压缩
tar -jcv -f filename.tar.bz2 要被处理的文件或目录名称
# 查询
tar -jtv -f filename.tar.bz2
# 解压
tar -jxv -f filename.tar.bz2 -C 欲解压缩的目录

16-3、tar.gz格式文件

# 压缩时不会占用太多cpu
# 压缩
tar -zcvf archive_name.tar.gz filename
# 解压缩
# -C dir指定解压路径,默认情况下直接解压到当前目录下。
tar -zxvf archive_name.tar.gz -C new_dir

16-4、tar格式文件

# tar格式文件用的非常广泛,消耗CPU较少。
# 它只是一个打包工具,不负责压缩,打包之后整体占用空间不变,编码也不会变。
# 打包
tar -cvf archive_name.tar directory_to_compress
# 解包
tar -xvf archive_name.tar -C dir

16-5、zip格式文件

# zip是使用最多的文档压缩格式
# 方便跨平台使用,但是压缩率不是很高
# 压缩
zip -r archive_name.zip filename
# 将几个文件和目录同时压缩成一个zip格式的压缩包
zip -r file1.zip file1 file2 dir1
# 解压
unzip archive_name.zip

16-6、其他未整理命令

bunzip2 file1.bz2 解压一个叫做 'file1.bz2'的文件
bzip2 file1 压缩一个叫做 'file1' 的文件
gunzip file1.gz 解压一个叫做 'file1.gz'的文件
gzip file1 压缩一个叫做 'file1'的文件
gzip -9 file1 最大程度压缩
rar a file1.rar test_file 创建一个叫做 'file1.rar' 的包
rar a file1.rar file1 file2 dir1 同时压缩 'file1', 'file2' 以及目录 'dir1'
rar x file1.rar 解压rar包

十七、jps命令

  • jps:(显示当前系统的java进程情况,及其id号)jps(Java Virtual Machine Process Status Tool)是JDK 1.5提供的一个显示当前所有java进程pid的命令,简单实用,非常适合在linux/unix平台上简单察看当前java进程的一些简单情况。语法如下:
jps [options]
其中,options表示选项。常用选项包括:

-l:输出完整的进程名,包括包名。
-m:输出主类的名称和传递给主方法的参数。

十九、kill命令

  • kill:(用于向某个工作(%jobnumber)或者是某个PID(数字)传送一个信号,它通常与ps和jobs命令一起使用),语法为:
kill [signal] PID

其中,signal表示要发送的信号,PID表示进程的ID。如果不指定信号,则默认发送SIGTERM信号,这是终止进程的常用信号。常用信号包括:

SIGTERM:默认信号,用于终止进程。
SIGKILL:强制终止进程,不允许进程进行清理操作。
SIGHUP:挂起进程。
SIGSTOP:停止进程。

二十、killall命令

killall命令用于向进程发送信号以终止进程,与kill命令不同的是,killall命令可以根据进程名或命令名来终止进程

二十一、系统和关机

shutdown -h now 关闭系统(1)
init 0 关闭系统(2)
telinit 0 关闭系统(3)
shutdown -h hours:minutes & 按预定时间关闭系统
shutdown -c 取消按预定时间关闭系统
shutdown -r now 重启(1)
reboot 重启(2)
logout 注销
time 测算一个命令(即程序)的执行时间

二十二、top命令

  • top: top命令用于显示系统中最耗费资源的进程。例如,输入"top"可实时显示当前系统中CPU和内存使用率最高的进程。top命令还可以用来监视系统的性能。

二十三、touch

  • touch命令: mkdir命令用于在指定位置创建新目录。例如,输入"mkdir new_dir"可在当前目录下创建名为new_dir的新目录。

二十四、mkdir

  • mkdir: 用于创建一个新的空文件或更新已存在的文件的访问和修改时间戳。例如,输入"touch new_file.txt"可在当前目录下创建名为new_file.txt的新文件。

二十五、ps

  • ps :ps命令用于显示当前正在运行的进程。例如,输入"ps"可显示当前系统中所有正在运行的进程的详细信息。ps命令还有一些常用选项,如"-aux"表示显示所有用户的所有进程等。

二十六、ping

  • ping : ping命令用于测试与另一台计算机之间的网络连接。例如,输入"ping 192.168.1.1"可向IP地址为192.168.1.1的计算机发送测试数据包,以测试网络连接是否正常。

二十七、ifconfig

  • ifconfig : ifconfig命令用于显示网络接口配置信息。例如,输入"ifconfig"可显示出当前系统中所有网络接口的详细配置信息,包括IP地址、子网掩码、MAC地址等。

二十八、> < >>等命令

>: 在Linux中,符号>被称为重定向操作符,它用于将命令的输出重定向到指定的位置,通常是文件或另一个命令。

  • 输出重定向:使用>将命令的标准输出保存到文件中。例如,将ls命令的输出保存到名为file.txt的文件中:
ls > file.txt
  • 追加输出到文件:如果你想将输出附加到文件的末尾,而不是覆盖文件内容,则可以使用>>符号。例如,将date命令的输出追加到名为file.txt的文件中:
date >> file.txt
  • 输入重定向:使用<符号将文件的内容作为命令的输入。例如,使用sort命令对名为file.txt的文件中的内容进行排序:
sort < file.txt
  • 将一个命令的输出作为另一个命令的输入:使用管道符号|将一个命令的输出作为另一个命令的输入。例如,将ls命令的输出作为grep命令的输入,并仅显示包含“file”字符串的行:
ls | grep file

二十九、| 管道符号

  • 在Linux中,管道符号“|”用于将一个命令的输出作为另一个命令的输入。它允许用户将多个命令链接在一起,使得一个命令的输出可以成为另一个命令的输入,从而形成更复杂的命令。例如,以下命令将ls命令的输出发送到grep命令中:
ls | grep keyword
  • 在这个命令中,“|”符号将ls命令的输出作为grep命令的输入,并且grep命令将只返回包含“keyword”的行。
  • 使用管道符号,可以将任意数量的命令连接在一起,从而创建复杂的命令链。例如,以下命令将列出当前目录中的所有文件,并按文件大小排序,最后只显示前10个文件:
ls -l | sort -rn -k 5 | head -n 10

三十、cut

  • cut: cut命令是在Unix或类Unix操作系统中使用的一个非常有用的命令,它用于从文件或管道中剪切(cut)文本数据的特定部分。cut命令通常用于从文本文件中提取有用的信息,或者在管道中使用命令输出的数据中选择特定的列或字段。cut命令的语法如下:
cut命令的语法如下:

其中,OPTIONS是可选的选项,用于指定要剪切的文本数据的位置和格式。FILE是要剪切的文件名或者从管道中读取的输入流。如果未指定FILE,则cut命令将从标准输入中读取数据。

cut命令的常用选项如下:

  • -c, --characters=LIST:指定要剪切的字符位置列表,用逗号分隔。例如,-c 1,3,5表示剪切第1、3和5个字符。
  • -d, --delimiter=DELIMITER:指定字段分隔符,默认使用制表符。
  • -f, --fields=LIST:指定要剪切的字段列表,用逗号分隔。例如,-f 1,3表示剪切第1和第3个字段。
  • –complement:将选项-c或-f的操作反转,即保留除指定位置或字段之外的部分。
  • -s, --only-delimited:仅显示包含字段分隔符的行。

以下是一些常见的cut命令的示例:

  • 提取文件中的第1和第3个字符:
cut -c 1,3 file.txt
  • 使用不同的字段分隔符提取文件中的第2和第4个字段:
cut -d ":" -f 2,4 file.txt
  • 反转提取,保留除第1和第3个字符之外的部分:
cut -c 1,3 --complement file.txt

其它命令

wc -l file: 查看文件一共有多少行
more file: 观察文件的部分内容
sudo -i: 为了频繁的执行某些只有超级用户才能执行的权限,而不用每次都输入密码。提示输入密码时该密码为当前账户的密码,没有时间的限制,执行该命令后提示符变为’#‘而不是’$‘,想退回普通账户时可以执行’exit’。运行sudo -i 后,当前目录跳转到/root。

总结:

-a(all: 全部) 全部一起操作
-f(force: 强制) 不会询问,直接操作。
-i(interact: 交互) 询问操作。
-r(recursion: 递归) 递归操作。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_42475060/article/details/129591618

智能推荐

【网络文摘】李喆:程序员到底怎么了-程序员宅基地

文章浏览阅读82次。我们是这样的一群人:每天都在“努力”的工作着,每天都和计算机打交道,泡在网上,打游戏,查资料,发微博。可是有一天,突然意识到,我们的未来在哪里,每个月那点可怜的工资,一年加起来也买不了几平米,找个女朋友也那么难,即使找到了,她还总是跟你说,为什么别人挣的都比你多,你每天不停的写着代码,每天不停的掉头发,每天都在发呆的想那“不远”的未来。他们管我们叫“码农”,我们管自己叫“程序员”,出差的..._李喆计算机

如何使用加密sqlite数据库_sqlite 加密-程序员宅基地

文章浏览阅读2.6k次。如何使用加密sqlite数据库,起始有开源的sqlcipher可以去开源网站搜索一下,如码云,github等,那么如何编译呢,这是我的虚拟机版本和 config参数然后就会生成Makefile直接make即可生成sqlcipher可执行程序,就是生成的,那么如何使用呢,其实他和sqlite3的使用一模一样,只是多了一个设置密码的命令,我掩饰一下,比如此时他和sqlite3使用是一样的,是明文的数据库,我们可以用sqlite3打开看一下那么怎_sqlite 加密

Python拿取nmap扫描的结果并存在csv文件中-程序员宅基地

文章浏览阅读473次。模块来将结果写入CSV文件的方法。模块来执行nmap命令,并使用。

搭建V2P及中青看点教程_v2p如何安装boxjs-程序员宅基地

文章浏览阅读2.4w次,点赞6次,收藏74次。V2P及中青看点教程_v2p如何安装boxjs

操作系统中cpu如何工作_驱动转化成 cpu指令-程序员宅基地

文章浏览阅读9.5k次,点赞17次,收藏80次。扩充小知识:                          这些硬件设备在一条总线上链接,他们通过这条线进行数据交互,里面的带头大哥就是CPU,拥有最高指挥权。那么它是如何工作的呢?  A.取指单元(从内存中取得指令);  B.解码单元(完成解码[讲内存中取到的数据转换成CPU真正能运行的指令]);  C.执行单元(开始执行指令,根据指令的需求去调用不同的硬件去干活。);我们通过上面知道了MMU是CPU的一部分,但是CPU有还要其他的部件吗?当然是有的啦,比如指令寄存器芯片,指令_驱动转化成 cpu指令

Win系统 - Hands-Free 和 Stereo 区别?_stereo hands-free-程序员宅基地

文章浏览阅读3.1w次。Ps:蓝牙耳机 / 音响的两种播放模式,字面意思:stereo 立体音响,hands-free 免提模式;hands-free 模式下可以用话筒,音效一般没有 stereo 模式下的好!_stereo hands-free

随便推点

【技巧】Latex在线工具:公式编辑器、表格编辑器_latex表格在线编辑-程序员宅基地

文章浏览阅读3.5k次,点赞2次,收藏4次。在线工具就是方便!_latex表格在线编辑

解决编译时出错提示: 'error: array must be initialized with a brace-enclosed initializer' 的错误...-程序员宅基地

文章浏览阅读2w次,点赞2次,收藏7次。编译出现这个错误的原因非常简单编译的标准不相同。如果用stdc90,这个就可以直接编译通过了。下面是代码例子:......char cmd[256] = NULL;或者 :char cmd[256] = '\0';...............如果用C写这个代码,编译是没有问题的。但是用C++写的,就会出现问题了。编译会提示:In membe..._array must be initialized with a brace-enclosed initializer

学习笔记(1.1)区块链_metis 区块链-程序员宅基地

文章浏览阅读408次。 区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式,可以用于登记与发行数字化资产、产权凭证等,如比特币。实质上,区块链作为比特币的底层技术和基础架构,可以理解为为了保证虚拟交易时数据的全用户可知并认同、不可篡改性、记录的合理修改性等等问题而存在的一个储存加密货币的交易记录的公共帐本。 其中分布式数据存储即为,将数据分散存储到多个可进行数据..._metis 区块链

pandas 时间戳转时间保留北京时间日期(to_datetime )_pandas to_datetime 北京时间-程序员宅基地

文章浏览阅读8.8k次,点赞4次,收藏8次。``` user_id create_time0 38441 15410016021 38442 15410016642 38443 15410017443 38444 15410019264 38445 15410020125 38446 15410024136 38447 15410..._pandas to_datetime 北京时间

mysql 8.0 创建新的数据库、用户并授权,以及相关查看并删除操作_mysql8.0 添加创建数据库权限-程序员宅基地

文章浏览阅读1.6k次。一、创建数据库mysql> create database news character set utf8;Query OK, 0 rows affected (0.09 sec)二、创建用户mysql> create user ‘news’@‘39.15.16.14’ identified by ‘123news’;Query OK, 0 rows affected (0.09 sec)三、授权用户mysql> grant all privileges on news.* _mysql8.0 添加创建数据库权限

SonarQube学习笔记二:Sonar插件安装和API调用示例_sonar-pdf-plugin-程序员宅基地

文章浏览阅读1.9k次。本文主要内容是sonarqube安装插件实现功能扩展,也对sonarqube的API功能进行了可用性确认。_sonar-pdf-plugin

推荐文章

热门文章

相关标签