linux常用命令大全1

简介: linux常用命令大全

作为开发者,Linux是我们必须掌握的操作系统之一。因此,在编写代码和部署应用程序时,熟练使用Linux命令非常重要。这些常用命令不得不会,掌握这些命令,工作上会事半功倍,大大提高工作效率。


image.png


一. 文件和目录


cd命令


用于切换当前目录,它的参数是要切换到的目录的路径,可以是绝对路径,也可以是相对路径。

cd [目录路径]



其中,目录路径是您要更改为的新目录的路径。

以下是一些常用的用法:

命令 执行
cd /home 进入 ‘/ home’ 目录
cd …(两个点) 返回上一级目录
cd …/… (两个点/两个点) 返回上两级目录
cd 进入个人的主目录
cd ~username 进入个人(username)的主目录
cd - 返回上次所在的目录


示例:

进入home目录下的jetsontx2nx606目录



pwd命令

显示当前所在的工作路径

示例:



ls命令

查看文件与目录的命令,list的缩写

ls [选项] [目录路径]

其中,选项是可选的,它们控制着ls命令的输出格式,目录路径是要列出其内容的目录的路径。


以下是一些常用选项:

命令 执行
ls 查看当前所在目录中的文件
ls -l 以长格式(详细信息)列出目录中的所有文件和子目录。“ll” 等同于 “ls -l”
ls -a 列出全部文件,包含隐藏文件
ls -h 以人类可读的格式(例如K、M、G)列出文件大小。
ls -R 连同子目录的内容一起列出(递归列出),等于该目录下的所有文件都会显示出来
ls -r 以相反的顺序列出文件和目录。
ls -t 按修改时间排序列出目录中的所有文件和子目录。
ls [0-9] 显示包含数字的文件名和目录名


示例:

显示当前所在目录的详细资料



cp命令


用于复制文件,copy的缩写,还可以把多个文件一次性地复制到一个目录下

cp [选项] 源文件 目标文件

其中,源文件是要复制的文件或目录的路径,目标文件是将源文件复制到的新位置的路径。

以下是一些常用选项:

选项 执行
-a 将文件的特性一起复制
-p 连同文件的属性一起复制,而非使用默认方式,与-a相似,常用于备份
-i 若目标文件已经存在时,在覆盖时会先询问操作的进行
-r 递归持续复制,用于目录的复制行为 //经常使用递归复制
-u 目标文件与源文件有差异时才会复制


示例:

1.将名为file1.txt的文件从当前目录复制到名为dir2的目录中,可以使用以下命令:

cp file1.txt dir2/



2.将整个目录从当前目录复制到名为dir2的目录中,并且要包含所有子目录和文件,则可以使用以下命令:

cp -r dir1/ dir2/



mv命令

用于移动文件、目录或更名,move的缩写

mv [options] source destination

其中,source是要移动或重命名的原始文件或目录的路径,destination是新位置或新名称的路径。如果destination是现有目录,则将源文件/目录移动到该目录中;如果destination是新文件名,则会将源文件/目录重命名为destination。


mv命令的一些常见选项包括:

选项 执行
-f force,强制执行操作,无需询问用户确认,如果目标文件已经存在,不会询问而直接覆盖
-i 若目标文件已经存在,就会询问是否覆盖
-u 若目标文件已经存在,且比目标文件新,才会更新
-v 显示每个移动或重命名操作的详细输出。


示例:

1.将文件“file1.txt”移动到目录“dir1”,可以使用以下命令:

mv file1.txt dir1/


2.将文件“oldname.txt”重命名为“newname.txt”,可以使用以下命令:

mv oldname.txt newname.txt


rm命令

用于删除文件或目录,remove的缩写

rm [选项] 文件/目录

其中,选项是可选的,可以有多个,常见的选项包括:

选项 执行
-f 就是force的意思,忽略不存在的文件,不会出现警告消息
-i 互动模式,在删除前会询问用户是否操作
-r 递归删除,不提示确认,最常用于目录删除,是一个非常危险的参数



示例:

  1. 删除一个文件:
rm myfile.txt
  1. 删除一个目录及其内容:
rm -r dir2/

06e7ae6bab35470e9f40cc981324dfb6.png


  1. 强制删除一个文件,不提示确认:
rm -f myfile.txt



二、查看文件内容


cat命令

用于查看文本文件的内容,后接要查看的文件名,通常可用管道与more和less一起使用

cat [选项] [文件]

其中,选项可以是以下任何组合:


选项 执行
-n 对每一行进行编号
-b 对非空行进行编号
-s 压缩空白行
-v 显示非打印字符
-E 在行末添加美元符号



基本用法:

命令 执行
cat file1 从第一个字节开始正向查看文件的内容
tac file1 从最后一行开始反向查看一个文件的内容
cat -n file1 标示文件的行数,并输出
more file1 查看一个长文件的内容
head -n 2 file1 查看一个文件的前两行
tail -n 2 file1 查看一个文件的最后两行
tail -n +1000 file1 从1000行开始显示,显示1000行以后的


这里的file1是一个文件名

示例:

1.显示filename.txt的1000行到3000行

cat filename.txt | head -n 3000 | tail -n +1000


2.执行filename.txt,从第3000行开始,显示1000(即显示3000~3999行)

cat filename.txt | tail -n +3000 | head -n 1000


3.将文件file1.txt和file2.txt连接起来,并显示行号

cat -n file1.txt file2.txt




三、文件搜索


find命令

用来查找系统文件的,用于在指定目录下查找文件或目录。它通过输入路径和条件来搜索符合要求的文件或目录,并将结果输出到终端

具体用法如下:

find [path] [expression]


其中,path 指定了要搜索的路径,可以是绝对路径或相对路径。如果未指定路径,则默认为当前工作目录。


expression 则是搜索的条件表达式,用于限定搜索范围。例如,可以按文件名、类型、大小、权限等条件进行搜索。


常用示例:

1.从 ‘/’ 开始进入根文件系统搜索文件和目录

find / -name file1 

2.搜索属于用户 ‘user1’ 的文件和目录

find / -user user1


3.搜索在过去100天内未被使用过的执行文件

find /usr/bin -type f -atime +100 

4.搜索在100天内被创建或者修改过的文件

find /usr/bin -type f -mtime -100


5.显示一个二进制文件、源码或man的位置

whereis halt 

6.显示一个二进制文件或可执行文件的完整路径

which halt


7.删除大于50M的文件:

find /var/mail/ -size +50M -exec rm {} \;

8.查找Downloads/文件夹下的所有目录:

find Downloads/ -type d


9.查找Desktop/路径下大小大于100M的文件:

find Desktop/ -size +100M


10.查找/path/to/folder路径下以".txt"结尾的文件

find /path/to/folder -name "*.txt"




四.文件的权限


chmod命令

文件的权限可以使用chmod命令进行修改,使用 “+” 设置权限,使用 “-” 用于取消

chmod [who] [+/-/=] [permission] file

其中,who表示要修改的用户或用户组,可以是以下之一:


   u:代表文件所有者。

   g:代表文件所属用户组。

   o:代表其他用户。

   a:代表所有用户,即u、g和o的组合。

"+“表示添加权限,”-“表示删除权限,”="表示设置权限。


permission可以是以下之一:

   r:读权限。

   w:写权限。

   x:执行权限。

   X:只有当文件是目录或者已经有可执行的权限时,才添加执行权限。


file表示要修改权限的文件名或目录名。


示例:

1.使用ls -lh 显示权限


2.将文件file.txt的所有者的读写权限设置为可读可写:

chmod u+rw file.txt

3.将文件file.txt的所有者和所属用户组的读写权限设置为可读可写:

chmod ug+rw file.txt


4.将文件file.txt的所有用户的读权限设置为可读:

chmod a+r file.txt

5.设置directory1 目录的所有人(u)、群组(g)以及其他人(o)以读(r,4 )、写(w,2)和执行(x,1)的权限

chmod ugo+rwx directory1

6.删除群组(g)与其他人(o)对directory1 目录的读写执行权限

chmod go-rwx directory1 




chown命令


chown命令用于更改文件或目录的所有者和/或所属组。它允许管理员将文件或目录的所有权转移给其他用户或组。,使用 “+” 设置权限,使用 “-” 用于取消,具体用法如下:

chown [选项] [所有者][:组] 文件名/目录名


其中,选项是可选的,可以是以下之一:

  • -c:只在更改执行后产生输出。
  • -f:强制进行更改,不显示错误信息。
  • -R:递归处理子目录及其内容。
  • -v:显示每次更改的详细信息。



所有者可以是用户名或用户ID,组可以是组名或组ID。如果省略组,则会将文件的所属组更改为新所有者的主要组。

示例:

1.改变一个文件的所有人属性

chown user1 file1


2.改变一个目录的所有人属性并同时改变改目录下所有文件的属性

chown -R user1 directory1 

3.改变一个文件的所有人和群组属性

chown user1:group1 file1


4.将文件file.txt的所有者更改为tom,所属组更改为users:

chown tom:users file.txt

5.将目录dir及其所有子目录和文件的所有者和所属组都更改为tom和users,则可以使用-R选项:

chown -R tom:users dir/



chgrp命令

chgrp命令用于改变文件所属用户组

chgrp [选项] [新的所属组名] 文件或目录


其中,[选项]表示可选参数,常见的有:

   -R:递归地更改一个目录及其所有子目录和文件的所属组。

   --reference=参考文件或目录:将指定文件或目录的所属组作为参考,并将需要更改的文件或目录的所属组设置为该参考文件或目录的所属组。

[新的所属组名]表示要将文件或目录更改为的新的所属组。


文件或目录表示要进行更改的文件或目录名称。


1.改变文件的群组

chgrp group1 file1 

2.将文件file.txt的所属组更改为group1

chgrp group1 file.txt


3.将目录/data及其子目录和文件的所属组都更改为group2

chgrp -R group2 /data
相关文章
|
4天前
|
运维 监控 网络协议
Linux抓包命令tcpdump使用技巧大全
【7月更文挑战第10天】
22 4
Linux抓包命令tcpdump使用技巧大全
|
4天前
|
监控 数据挖掘 Linux
探索Linux中的`sort`命令:数据处理与分析的得力助手
`sort`命令是Linux下文本数据排序利器,用于按字典、数字顺序等对行排序。关键参数有:-n(数字排序),-r(逆序),-u(去重),-k(指定字段),-t(字段分隔符)和-o(输出到文件)。在处理大文件时注意内存使用,确保字符编码一致,灵活运用管道和重定向。通过熟练使用`sort`,能提升数据分析效率。
|
4天前
|
数据挖掘 Linux 数据处理
Linux命令sprof详解
**`sprof`是Linux下的共享库性能分析工具,补充`gprof`,专注分析`.profile`文件以识别性能瓶颈。通过调用次数、执行时间数据优化资源和代码。使用参数如`-F`、`-I`、`-d`进行定制化分析。示例:先设置`LD_PROFILE`环境变量,运行程序生成`.profile`,然后用`sprof`分析。注意需用`-g`编译程序,并在代表性的负载下分析。结合其他工具如`perf`、`valgrind`提升分析效果。**
|
4天前
|
存储 数据挖掘 Linux
Linux命令split详解:大文件处理的得力助手
`split`命令是Linux用于将大文件分割成小文件的工具,常用于日志处理、备份。它支持按行数(-l)、字节数(-b)分割,并能自定义输出文件名(-a, -d)。例如,`split -b 10M largefile.txt smallfile_`会按10MB切割`largefile.txt`,生成`smallfile_`开头的文件。注意确保磁盘空间充足,避免文件名冲突,并备份原始文件。结合其他命令使用,能提高文件管理效率。
|
4天前
|
数据挖掘 大数据 Linux
探索Linux中的snice命令:一个虚构但启发性的数据分析工具
`snice`是一个想象中的Linux命令,用于低优先级地从大数据集中抽样数据。它结合`nice`和`sampling`,支持多种抽样策略,如随机和分层。参数包括指定样本数、策略、输入输出文件和进程优先级。示例:`snice -n 1000 -s random -i large_log.txt -o sample_log.txt`。使用时注意资源管理、数据完整性及权限,并与其它工具结合使用。虽然虚构,但体现了Linux工具在数据分析中的潜力。
|
1天前
|
关系型数据库 MySQL Linux
Linux命令systemctl详解
`systemctl`是Linux系统用于管理systemd服务的核心命令,它与systemd守护进程交互,实现启动、停止、重启服务及查看服务状态等功能。主要参数包括`start`、`stop`、`restart`、`status`、`enable`和`disable`等。例如,启动Apache服务使用`systemctl start httpd.service`,查看服务状态用`systemctl status <service>`。使用时需注意权限,服务名通常以`.service`结尾,但命令中可省略。最佳实践包括利用tab键补全、定期查看服务状态和合理配置服务自启。
|
1天前
|
存储 安全 Linux
Linux命令sync详解
`sync`命令在Linux中用于将内存缓冲区的数据强制写入磁盘,保证数据持久性和一致性。它在关机、重启或重要文件操作前后使用,以防数据丢失。工作原理是强制将内存中的数据同步到磁盘,特点是阻塞式执行且通常无需参数。常见用法包括安全关机、数据备份和配置文件修改后确保更改生效。应注意,过度使用可能影响性能,应适时使用`fsck`检查文件系统一致性。
|
1天前
|
存储 算法 安全
Linux命令sum详解
`sum`命令在Linux中用于计算文件的校验和与磁盘块数,确保文件传输或存储时的完整性。它使用加法运算生成校验和,可与文件内容比较验证变化。支持不同算法(如CRC),能处理多个文件。基本用法包括:`sum file.txt`来计算校验和,`sum -c checksum.txt`来验证文件完整性。但要注意,更强的校验算法如MD5或SHA家族可能更适合安全性需求。结合`find`和`xargs`可用于目录的递归校验。定期校验和记录校验和是最佳实践。
|
1天前
|
安全 数据管理 Shell
Linux命令su详解
`su`命令在Linux中用于切换用户身份,常用于权限管理。它允许用户无须注销当前会话就切换到另一个用户,尤其是root。`su`有多种选项,如`-`或`--login`加载目标用户环境,`-c`执行指定命令后返回。使用时需注意权限安全,建议用`sudo`以减少风险。通过限制`/etc/pam.d/su`可加强访问控制。`su`在系统维护和数据管理中扮演角色,但不直接处理数据。
|
4天前
|
监控 安全 Linux
Linux命令truss详解:系统调用跟踪的利器
`truss`(或`strace`)是Linux调试利器,用于跟踪系统调用和信号。它帮助开发者优化性能、调试错误和进行安全审计。通过附加到进程,记录调用细节、参数、返回值和错误。使用参数如`-d`显示调试信息,`-e`跟踪特定调用,`-o`输出到文件,`-p`跟踪指定进程。注意其对性能的影响,通常需要root权限,并建议过滤输出和结合其他工具分析。