Linux常用命令归纳总结(新手入职基本篇)

一:文件和命令

1、cd命令

cd 命令用于改变当前工作目录,cd 命令允许你切换到文件系统中的其他目录。

cd:不带任何参数使用 cd 命令时,它会将你带到你的主目录,也就是你的家目录,通常对于非 root 用户来说是 /home/你的用户名,对于 root 用户来说是 /root。
在这里插入图片描述

cd ~:这个命令会将当前工作目录改变到用户的主目录(home directory)。在Linux中,每个用户都有一个主目录,通常位于 /home/用户名(对于非root用户)或 /root(对于root用户)。~ 是一个快捷方式,代表当前用户的主目录。

在这里插入图片描述
cd /:这个命令会将当前工作目录改变到根目录(root directory)。根目录是Linux文件系统层次结构的最顶层目录,所有的其他目录和文件都是从这个根目录开始的。在大多数Linux发行版中,根目录的路径就是 /。
在这里插入图片描述
简而言之,cd ~ 用于快速跳转到用户的个人目录,而 cd / 用于跳转到整个文件系统的最顶层目录。

cd ..:返回上一级目录
cd ../..:返回上两级目录
在这里插入图片描述

cd -:切换到之前的工作目录(即返回到执行 cd 命令前所在的目录)。

在这里插入图片描述

2、mkdir命令

mkdir directory_name:这将创建一个名为 directory_name 的新目录。

在这里插入图片描述

mkdir dir1 dir2 dir3:这将创建三个目录:dir1、dir2 和 dir3。

在这里插入图片描述

mkdir -p dir1/dir2/dir3:使用 -p 选项可以创建多级目录结构,即使中间的目录不存在,也不会报错。

在这里插入图片描述

mkdir -m 755 dir_name:使用 -m 选项可以设置目录的权限。在这个例子中,755 权限意味着目录所有者有读写执行权限,而组用户和其他用户只有读和执行权限。

在这里插入图片描述
mkdir dir_name
chmod 755 dir_name
创建目录并设置权限(与上一命令相同)

在这里插入图片描述

mkdir dir_name && cd dir_name:创建目录后立即切换到该目录。

在这里插入图片描述

3、rm命令

rm filename:这将删除名为filename的文件。

rm file1 file2 file3:这将删除file1、file2和file3这三个文件。

rm -r directoryname:-r(或–recursive)选项用于递归地删除目录及其所有内容。

rm -f filename:-f(或–force)选项用于强制删除文件,即使文件不存在也不会显示错误信息。

rm -i filename:-i(或–interactive)选项会在删除每个文件之前询问用户是否确定。

rm -d directoryname:-d选项用于删除空目录,但通常rm默认就是删除空目录的。

rm .hiddenfile:隐藏文件以.开头,删除时需要明确指定文件名。

rm -rf *警告:这个命令非常危险,因为它会删除当前目录下的所有文件和子目录,包括隐藏文件和子目录。使用时一定要小心。

rm -t 2024-09-24 *:-t选项后面跟日期,可以删除在指定日期之前修改的所有文件。

rm *.txt:这将删除当前目录下所有扩展名为.txt的文件。

4、ls命令

ls:列出当前目录下的文件和目录。

ls /path/to/directory:列出指定目录下的文件和目录。

ls -l:-l选项以长格式列出文件,包括文件权限、所有者、大小、时间戳等。

ls -la:-a选项显示所有文件,包括以.开头的隐藏文件。

ls -R:递归列出所有子目录的内容。

在这里插入图片描述

ls -lt:按文件修改时间排序。

ls -lS:按文件大小排序。

ls -lX:按文件扩展名排序。

ls --color:显示文件的彩色输出。

ls -m:-m选项将文件名用逗号分隔,而不是默认的空格。

ls -p:-p选项在每个条目后加上斜杠(/),表示目录。

ls -l *.txt:这将列出所有扩展名为.txt的文件。

ls -1:-1选项将文件名垂直列出,列出当前目录下的所有文件和目录,按文件名排序。
在这里插入图片描述

5、cp命令

cp source.txt destination.txt:将名为source.txt的文件复制到当前目录,并重命名为destination.txt。

cp file1.txt file2.txt /path/to/destination/:将file1.txt和file2.txt复制到指定目录。

cp -r source_directory destination_directory:-r(或–recursive)选项用于递归复制目录及其所有内容。

cp -f source.txt destination.txt:-f(或–force)选项用于强制复制,如果目标文件已存在,则会被覆盖而不提示。

cp -i source.txt destination.txt:-i(或–interactive)选项在覆盖目标文件之前会询问用户。

cp -p source.txt destination.txt:-p选项用于保留原文件的修改时间、访问时间、权限等属性。

cp -a source.txt destination.txt:复制文件并保留原文件的所有属性,包括所有权。

cp /path/to/source.txt source.txt:复制文件到当前目录,如果目标文件名与源文件名相同,则只需指定源文件路径。

cp *.txt /path/to/destination/:这将复制当前目录下所有扩展名为.txt的文件到指定目录。

cp -v source.txt destination.txt:复制文件并显示进度,-v(或–verbose)选项在复制过程中显示详细信息。

6、mv命令

mv source.txt destination.txt:将名为source.txt的文件重命名为destination.txt。

mv source.txt /path/to/destination/:将source.txt文件移动到指定目录。

mv file1.txt file2.txt /path/to/destination/:将file1.txt和file2.txt移动到指定目录。

mv source_directory /path/to/destination/:将source_directory目录移动到指定目录。

mv -i source.txt destination.txt: -i(或–interactive)选项在覆盖目标文件之前会询问用户。

mv -f source.txt destination.txt:-f(或–force)选项用于强制移动文件,如果目标文件已存在,则会被覆盖而不提示。

mv -n source.txt destination.txt:-n选项不会覆盖目标位置的现有文件。

mv -v source.txt destination.txt:-v(或–verbose)选项在移动过程中显示详细信息。

mv /path/to/source.txt source.txt:移动文件到当前目录,如果目标文件名与源文件名相同,则只需指定源文件路径。

mv *.txt /path/to/destination/:这将移动当前目录下所有扩展名为.txt的文件到指定目录。

二:查看文件内容

1、cat命令

cat filename:查看文件内容。

cat -n filename:-n选项显示文件内容,并在每行前添加行号。

cat filename | less :使用less命令逐页显示文件内容。

cat > newfile.txt:输入内容,按Ctrl+D结束输入,创建名为newfile.txt的新文件。

cat >> existingfile.txt:输入内容,按Ctrl+D结束输入,将内容追加到existingfile.txt文件末尾。

cat > newfile.txt <<EOF Line 1 Line 2 Line 3 EOF:使用<<EOF和EOF标记之间的内容创建newfile.txt文件。

cat file1.txt file2.txt > mergedfile.txt:将file1.txt和file2.txt的内容拼接到mergedfile.txt文件中。

cat filename | tail -n 10:使用tail -n 10显示文件的最后10行。

cat filename | head -n 10:使用head -n 10显示文件的前10行。

cat filename | head -n 50 | tail -n +30: 显示30行到50行的内容。

cat filename | tail -n +50 | head -n 10:显示最后50行内容的前10行内容。

cat filename | sort:使用sort命令对文件内容进行排序。

cat filename | sort -r:使用sort -r命令对文件内容进行反向排序。

2、tac命令

tac命令在Linux系统中用于将文件内容反向显示,即从最后一行开始输出到第一行。它相当于cat命令的反向版本。以下是一些常用的tac命令用法:

tac filename:显示filename文件的内容,从最后一行到第一行。

tac filename | nl:使用nl命令给反向显示的内容添加行号。

tac -v filename:-v选项显示非打印字符。

tac -e filename:-e选项显示换行符。

tac命令通常用于需要从文件末尾开始查看内容的场景,例如查看日志文件的最新条目。

3、more、less命令

more 和 less 都是Linux中用于分页显示文件内容的命令,但 less 功能更为强大和灵活。以下是它们的一些常用命令和快捷键:

more:
more filename:查看文件。

对于more命令而言,以下输入字符的命令都得先按v键进入查看模式才能输入命令。

向下翻页
按 空格键 向下翻页。
按 Enter 键向下移动一行。

向上翻页:按 b 键向上翻页。

转到文件开头/结尾
按 g 键转到文件开头。
按 G 键转到文件结尾。

搜索字符串:按 / 键,然后输入要搜索的字符串。

退出:按 q 键退出。

less:
less filename:查看文件。

向下翻页
按 空格键 向下翻页。
按 Page Down 键向下翻页。
按 Enter 键向下移动一行。

向上翻页:按 b 键向上翻页。

向前/向后移动
按 Ctrl + f 向前移动。(实际上直接按 f 键即可)
按 Ctrl + b 向后移动。(实际上直接按 b 键即可)

转到文件开头/结尾
按 g 键转到文件开头。
按 G 键转到文件结尾。

搜索字符串
按 / 键,然后输入要搜索的字符串。
按 n 键跳转到下一个匹配项。
按 Shift + N 跳转到上一个匹配项。

跳转到特定行号:按 : 键,然后输入行号,比如 :100。

跳转到文件的百分比:按 : 键,然后输入百分比,比如 :50%。

进入/退出列模式:按 v 或 V 键进入列模式,用于查看宽文本文件。

复制文本
按 Shift + g 跳转到文件末尾,然后按 y 键开始复制。
使用方向键选择文本,然后按 y 键复制到缓冲区。

退出:按 q 键退出。

显示当前状态:按 Ctrl + g 显示当前文件名和位置。

less 命令特别适合查看大型文件,因为它允许用户在文件中自由移动,并且可以使用搜索和跳转功能快速定位到感兴趣的内容。

4、head、tail命令

head 和 tail 是Linux中用于显示文件开头或结尾部分内容的命令。以下是它们的一些常用用法:

head filename::默认情况下,head命令显示文件的前10行。

head -n 20 filename:-n选项后跟数字,指定显示文件的前N行。

tail filename:默认情况下,tail命令显示文件的最后10行。

tail -n 20 filename:-n选项后跟数字,指定显示文件的最后N行。

tail -n +N filename:+N表示从第N行开始显示到文件末尾。

tail -n N filename:显示文件的最后N行,但不显示文件名。

tail -n N -q filename:显示文件的最后N行,并且显示文件名。

tail -n N -s filename:-s选项用于在显示多个文件内容时,在每个文件的内容之间插入分隔符。

head 和 tail 命令经常用于查看日志文件、配置文件等,特别是在处理大型文件时非常有用。

5、grep命令

grep 是一个非常强大的文本搜索工具,在 Linux 中广泛使用。它可以搜索文件中匹配特定模式的行,并将其输出到标准输出。以下是一些常用的 grep 命令用法:

grep "pattern" filename:在 filename 文件中搜索包含 “pattern” 文本的所有行。

grep -i "pattern" filename:使用 -i 选项忽略大小写差异。

grep -n "pattern" filename:使用 -n 选项显示匹配行及其行号。

grep -C 2 "pattern" filename:使用 -C 选项显示匹配行的前后2行上下文。

grep -o "pattern" filename:使用 -o 选项仅输出匹配的部分。(一般是需要配合-n进行使用的)

grep -v "pattern" filename:使用 -v 选项显示不包含 “pattern” 文本的所有行。

grep -r "pattern" /path/to/directory:使用 -r 选项递归地在目录中搜索匹配的文本。

grep -l "pattern" filename:使用 -l 选项仅列出包含匹配行的文件名,一般是同时在查找多个文件时使用。

grep -L "pattern" filename:使用 -L 选项仅列出不包含匹配行的文件名。

grep -c "pattern" filename:使用 -c 选项统计匹配 “pattern” 文本的行数。

grep "^pattern" filename:搜索以 “pattern” 开头的行。

grep "pattern$" filename:搜索以 “pattern” 结尾的行。

grep [0-9] filename:搜索文件中所有包含数字的行。

6、sed命令

sed(stream editor)是Linux中一个非常强大的文本处理工具,它能够对文本进行过滤和转换。以下是一些常用的sed命令用法:

sed 's/old/new/g' filename:将文件中的“old”替换为“new”。这里的s是替换命令,g表示全局替换。

sed -i 's/old/new/g' filename:使用 -i 选项直接修改文件而不是输出到标准输出。

sed '3s/old/new/' filename:只替换文件的第三行中的“old”为“new”。

sed '3d' filename:删除文件的第三行。

sed '/pattern/d' filename:删除所有包含“pattern”的行。

sed '$a\new text' filename:在文件末尾追加“new text”。

sed '3a\new text' filename:在第三行后追加“new text”。

sed '1i\new text' filename:在文件的第一行前插入“new text”。

sed '1c\new line 1\new line 2' filename:将第一行替换为多行文本。

注: 在使用 sed 命令时,如果不使用 -i(或 --in-place)选项,那么修改后的数据将不会保存到原文件中,而是输出到标准输出(通常是屏幕)。因此,如果你想保存修改后的文件,需要重定向输出到原文件或其他文件。

如果你想查看替换结果但不保存,可以这样操作:
sed 's/old/new/g' filename

如果你想直接修改原文件,可以使用 -i 选项。这会将更改保存回原文件:
sed -i 's/old/new/g' filename

如果你想保留原文件不变,并将修改后的内容保存到一个新文件,可以这样做:
sed 's/old/new/g' filename > newfile

使用备份扩展名保存原文件,使用 -i 选项时,你还可以指定一个扩展名,用于保存原文件的备份:
sed -i.bak 's/old/new/g' filename

三:文件搜索

1、find命令

Linux 中的 find 命令是一个非常强大的工具,用于在文件系统中搜索文件和目录。

find /path/to/search -name 'filename':在指定路径下搜索名为 filename 的文件或目录。

find /path/to/search -type f:搜索指定路径下的所有文件(不包括目录)。

find /path/to/search -size +10M:搜索指定路径下大小超过10MB的文件。

find /path/to/search -mtime -7:搜索在过去7天内被修改过的文件。

find /path/to/search -perm 755:搜索指定路径下权限为755的文件或目录。

find /path/to/search -regex '.*\.txt':使用正则表达式搜索文件名,搜索指定路径下所有扩展名为 .txt 的文件。

find /path/to/search -name '*.txt':搜索指定路径下所有扩展名为 .txt 的文件。

find /path/to/search -name '*.txt' -exec grep -H 'pattern' {} \;:使用 -exec 执行命令,对所有 .txt 文件执行 grep 搜索特定模式。

find /path/to/search -user username -group groupname:搜索属于特定用户和组的文件。

find /path/to/search -not -name '*.txt':搜索除了 .txt 文件以外的所有文件。

find /path/to/search -newer file.txt:搜索修改时间比 file.txt 更新的文件。

四:文件权限

1、chmod命令

使用 “+” 设置权限,使用 “-” 用于取消

chmod 命令在 Linux 系统中用于更改文件或目录的访问权限。

ls -lh:显示当前目录所有文件的权限。

chmod 644 filename:将文件 filename 的权限设置为 rw-r–r–(所有者读写,组和其他用户读)。

chmod -R 755 /path/to/directory:递归地将目录及其所有子目录和文件的权限设置为 rwxr-xr-x。

chmod u=rwx,g=rx,o=r filename:使用符号模式(u=用户,g=组,o=其他)设置权限。

chmod a+x filename:给所有用户添加对文件的执行权限。

chmod u+x filename:给文件 filename 的所有者添加执行权限。

chmod g-w filename:从文件 filename 的权限中移除写权限。

chmod 4750 filename
第一个数字代表特殊权限(通常是系统管理员使用的)。
第二个数字代表文件所有者(owner)的权限。
第三个数字代表与文件所有者同组的用户(group)的权限。
第四个数字代表其他用户(others)的权限。

每个数字由以下权限的八进制值相加得到:

4 代表读(read)权限。
2 代表写(write)权限。
1 代表执行(execute)权限。
因此,chmod 4750 filename 命令的含义如下:

7(4+2+1)代表文件所有者拥有读、写和执行权限。
5(4+1)代表与文件所有者同组的用户拥有读和执行权限,但没有写权限。
0 代表其他用户没有任何权限。
所以,这个命令会将 filename 文件的权限设置为:

文件所有者可以读、写和执行文件。
与文件所有者同组的用户可以读文件和执行文件,但不能写文件。
其他用户没有任何权限。

chmod -R u+r,g+r,o-r dirname:递归地给所有文件和目录添加用户和组的读权限,移除其他用户的读权限。

chmod 755 /path/to/directory:将目录的权限设置为默认的 rwxr-xr-x。

chmod +t dirname:在目录上设置粘滞位,这样只有所有者可以删除或移动文件。

归纳一个知识点:

①、符号模式 使用字母来表示权限:
u 代表文件所有者(user)
g 代表组(group)
o 代表其他人(others)
a 代表所有用户(所有者、组和其他用户)
+ 代表添加权限
- 代表删除权限
= 代表设置精确的权限,删除其他所有权限

②、八进制模式 使用数字来表示权限:
4 代表读(read)
2 代表写(write)
1 代表执行(execute)

五:打包和压缩文件

1、tar命令

  tar 是一个在 Unix 和类 Unix 系统中广泛使用的命令行工具,用于打包和解包文件。它可以将多个文件合并成一个归档文件,并支持压缩,以减少磁盘空间的使用或便于文件传输。

tar 命令的基本语法如下:tar [选项] [文件或目录...]

常用选项
-c:创建一个新的归档文件。
-x:解包一个归档文件。
-t:查看归档文件内容而不解压。
-u:更新归档文件中的内容。
-z:通过 gzip 来压缩/解压缩文件。
-j:通过 bzip2 来压缩/解压缩文件。
-J:通过 xz 来压缩/解压缩文件。
-f:指定归档文件的名称。
-v:在处理文件时显示详细的信息。
-r:向归档文件中追加文件。

tar -cvf archive_name.tar directory_name:创建归档文件,将 directory_name 目录及其内容打包到 archive_name.tar。

tar -czvf archive_name.tar.gz directory_name:压缩归档文件,将 directory_name 目录及其内容打包并使用 gzip 压缩成 archive_name.tar.gz。

tar -xvf archive_name.tar:解包归档文件,将 archive_name.tar 解包到当前目录。

tar -tvf archive_name.tar:查看归档文件内容,查看 archive_name.tar 的内容而不解压。

tar -uvf archive_name.tar new_file.txt:更新归档文件,将 new_file.txt 添加到已存在的归档文件 archive_name.tar 中。

tar -rvf archive_name.tar new_file.txt:追加文件到归档文,将 new_file.txt 追加到已存在的归档文件 archive_name.tar 中。

tar -cjvf archive_name.tar.bz2 directory_name:使用 bzip2 压缩,将 directory_name 目录及其内容打包并使用 bzip2 压缩成 archive_name.tar.bz2。

tar -cJvf archive_name.tar.xz directory_name:使用 xz 压缩,将 directory_name 目录及其内容打包并使用 xz 压缩成 archive_name.tar.xz。

2、zip和unzip命令

在 Linux 系统中,zip 和 unzip 是两个常用的命令行工具,用于压缩和解压缩文件。

zip:

zip [选项] [压缩文件名] [文件或目录...]

常用选项
-r:递归地包含目录,也就是说,包括指定目录下的所有子目录和文件。
-q:静默模式,不显示任何提示信息。
-u:更新现有压缩文件,如果压缩文件已存在,zip 命令会将新文件添加到现有压缩文件中。
-x:排除文件,即不包括指定的文件或目录。
-0:压缩级别为0,意味着不压缩,但仍然创建压缩文件。

zip compressed_file.zip file_to_compress.txt:将 file_to_compress.txt 文件压缩成 compressed_file.zip。

zip -r compressed_directory.zip directory_to_compress:将 directory_to_compress 目录及其所有子目录和文件压缩成 compressed_directory.zip。

zip -r compressed_directory.zip directory_to_compress -x \*.tmp:将 directory_to_compress 目录压缩,排除所有 .tmp 文件。

unzip:

unzip [选项] [压缩文件名]

常用选项
-l:列出压缩文件的内容,但不解压。
-o:覆盖已存在的文件而不提示。
-j:不包含路径信息,仅解压文件名和扩展名。

unzip compressed_file.zip:将 compressed_file.zip 解压缩到当前目录。

unzip -l compressed_file.zip:列出 compressed_file.zip 的内容,但不解压。
unzip compressed_file.zip -d /path/to/directory:将 compressed_file.zip 解压缩到指定目录。
unzip -o compressed_file.zip:解压缩 compressed_file.zip,覆盖已存在的文件。

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱睡觉的小Meng

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值