Linux常见指令(一)

一句话介绍一下Linux

Linux是一种开源的操作系统,广泛运用再服务器、桌面电脑、移动设备和嵌入式系统中。这个个基于Unix的多用户、多任务操作系统,具有高可指定性和灵活性。

Linux下的基本指令大全

下面将Linux指令分成9种不同的主要类别:

  1. 文件管理指令:这些指令用于文件和目录的创建、编辑、复制、移动和删除。例如:ls(列出目录内容),cp(复制文件或目录),mv(移动或重命名文件或目录),rm(删除文件或目录)。

  2. 文本处理指令:这些指令用于文本文件的查看、编辑和处理。例如:cat(查看文件内容),grep(文本搜索),sed(流编辑器),awk(模式扫描和文本处理语言)。

  3. 系统管理指令:用于监控和管理系统资源和进程。例如:top(显示进程的动态实时视图),ps(显示当前运行的进程),kill(终止进程),df(显示磁盘空间使用情况),free(显示内存使用情况)。

  4. 网络管理指令:用于管理和诊断网络问题。例如:ping(检查网络连接),ifconfig(配置或显示网络接口参数),ssh(安全地访问远程服务器),scp(通过SSH协议安全地复制文件)。

  5. 权限和用户管理指令:用于管理用户权限和用户账户。例如:chmod(改变文件权限),chown(改变文件所有者),useradd(添加新用户),passwd(更改用户密码)。

  6. 软件管理指令:用于安装、更新和移除软件包。不同的Linux发行版可能使用不同的包管理器,例如:apt(在基于Debian的系统上),yum(在基于Red Hat的系统上),pacman(在Arch Linux上)。

  7. 编程和开发指令:提供编程和脚本编写支持。例如:gcc(C语言编译器),git(版本控制系统),make(自动化编译工具)。

  8. 帮助和信息指令:提供帮助信息和系统信息。例如:man(查看手册页),info(查看程序的信息页),whatis(显示一行命令描述)。

文件管理指令

ls指令

‘ls’是一个列出目录信息内容的基本指令,其中由很多选项来改变输出的格式或者显示更多的细腻些,下面是一些常见的ls的选项,在使用ls的时候可以在后面加上这些选项达到你需要的目的

基本用法
//列出当前目录中的文件和目录:
ls

//列出指定目录中的文件和目录:

ls /path/to/directory

-a,-all:显示所有文件,包括以(.)开头的隐藏文件

-l:  简写(ll)显示长格式列出信息,显示文件的权限,所有者、大小、最后修改日期等详细信息。

-h, --human-readable:与 -l 一起使用时,以更易读的格式显示文件大小(例如 KB、MB)。

-r, --reverse:反转排序结果,通常与排序选项(如 -t-S)一起使用。

-t:根据修改时间排序,最近修改的文件先显示。

-S:根据文件大小排序,最大的文件先显示。

--color[=WHEN]:控制是否使用颜色来区分不同类型的文件。WHEN 可以是 neverautoalways

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

-d, --directory:仅列出目录本身,而不是其内容。

-F, --classify:在每个文件名后添加一个字符,以指示该文件的类型(例如,/ 表示目录,* 表示可执行文件)。

--sort=WORD:指定排序方式,WORD 可以是 none(不排序)、size(按大小)、time(按时间)、version(按版本)等。

-1:每行只列出一个文件,适用于将输出重定向到文件或管道。

示例
//列出所有文件,包括隐藏文件:
ls -a

//以长格式列出文件和目录的详细信息:
ls -l
ll

//以人类可读的格式显示文件大小:
ls -lh

//按修改时间排序并以长格式显示:
ls -lt

//递归地列出目录内容:
ls -R

cp指令

'cp'命令在Linux系统中用于复制文件和目录,提供了很多不同的方式来控制复制行为

基本用法
//复制文件:将一个或多个文件复制到指定的目录中。
cp [options] source destination

//复制目录:复制整个目录及其内容。
cp -r [options] source_directory destination_directory

-a, --archive:归档模式,等同于 -dR --preserve=all,它保留所有的文件属性(如链接、权限、所有者信息)并递归复制。

-r, -R, --recursive:递归复制目录及其内容。当复制目录时通常需要此选项。

-i, --interactive:在覆盖现有文件前提示用户确认。如果用户不确认,文件不会被覆盖。

-u, --update:仅当源文件比目标文件新,或者目标文件不存在时,才复制文件。

-v, --verbose:显示详细的复制过程信息。

-p, --preserve:保留指定的属性(如模式、所有权、时间戳),如果没有指定属性,则默认保留所有属性。

--preserve=属性列表:保留指定的属性列表,如 --preserve=mode,ownership,timestamps

-l, --link:创建硬链接,而不是复制文件。

-b, --backup:在覆盖目标文件前,为其创建一个备份。

-s, --symbolic-link:创建符号链接,而不是复制文件

示例
//复制单个文件:
cp source.txt /path/to/destination/

//递归复制目录:
cp -r source_directory/ /path/to/destination_directory/

//交互式复制:如果目标目录中已有同名文件,系统会提示是否覆盖
cp -i source.txt /path/to/destination/

//更新式复制:只有当源文件比目标目录中的同名文件新时,才会执行复制
cp -u source.txt /path/to/destination/

mv指令

‘mv’命令在linux中可以实现移动和重命名文件和目录,这个指令不仅可以改变文件的位置,还可以改变文件的名称。‘mv’的选项和‘cp’的选项类似,很多都是可以通用的

基本用法
//移动文件:将文件从一个位置移动到另一个位置。、
mv [options] source destination

//重命名文件:改变文件或目录的名称。
mv [options] oldname newname

-i, --interactive:在覆盖已存在的文件前提示用户确认。如果用户不同意,文件不会被覆盖。

-u, --update:只有当源文件比目标文件新,或者目标文件不存在时,才会移动文件。

-v, --verbose:显示关于 mv 操作的详细信息。

-f, --force:强制移动文件,即使目标文件已存在也不会提示。

-n, --no-clobber:在目标位置已存在文件时,不进行移动。

-t, --target-directory=目录:指定目标目录,然后列出所有要移动的文件。

-T, --no-target-directory:将目标视为普通文件而不是目录。

--backup[=CONTROL]:在覆盖文件之前,为其创建一个备份。CONTROL 可以是 noneoffnumberedtexistingnil 等,用来指定备份文件的命名方式。

--suffix=SUFFIX:覆盖文件时,指定备份文件的后缀。

--help:显示帮助信息。

--version:显示版本信息。

示例
//移动文件:
mv file.txt /path/to/directory/

//重命名文件:
mv oldname.txt newname.txt

//交互式移动:如果目标目录中已经有一个名为 file.txt 的文件,系统会提示是否覆盖。
mv -i file.txt /path/to/directory/

//更新式移动:只有当源文件比目标目录中的同名文件新时,才会执行移动。
mv -u srcfile.txt /path/to/directory/

mv 命令在文件整理和管理中非常实用,但需要谨慎使用,尤其是在使用 -f 选项时,因为它可能会导致数据丢失。

rm指令

'rm'命令在linux中是用于删除文件和目录。一旦使用它删除了文件,这些文件通常是无法恢复的,所以在Linux中删除需要用backup后再删除,谨慎一点。

基本用法
//删除文件:删除一个或多个文件。
rm [options] file1 file2 ...


//删除目录:删除目录及其所有内容(包括子目录和文件)。
rm -r [options] directory

-f, --force:强制删除文件,即使文件不存在也不会显示错误信息。

-i:交互式删除,在删除每个文件前都会询问用户。

-r, -R, --recursive:递归删除目录和其内容。当用于删除目录时,这个选项是必须的。

-v, --verbose:显示详细过程,报告每个被删除的文件。

--no-preserve-root:允许删除根目录(/)。这是一个非常危险的选项,应该极其小心地使用。

--preserve-root:防止递归删除根目录(默认行为)。

--one-file-system:在递归删除时,避免跨越文件系统边界。

-d, --dir:删除空目录。

--help:显示帮助信息。

--version:显示版本信息。

使用 rm 命令时,特别是配合 -r-f 选项时,需要格外小心,因为这可能会导致不可恢复的数据丢失。例如,rm -rf / 命令将删除系统的所有文件,是非常危险的操作。通常建议使用 -i 选项进行确认,尤其是在删除重要文件或大量文件时。

示例
//删除单个文件:
rm file.txt

//交互式删除多个文件:
rm -i file1.txt file2.txt

//强制删除目录及其内容:
rm -rf /path/to/directory

touch指令

‘touch‘再Linux中用于设置文件的访问和修改时间戳。如果指定文件不存在,’touch‘就会去创建一个新的文件。这个命令对于创建新文件、或者简单的改变文件现有文件的时间戳十分有用

基本用法:
touch filename

-a:只更改文件的访问时间。

-m:只更改文件的修改时间。

-c, --no-create:不创建任何文件。如果指定的文件不存在,touch 不会创建新文件。

-d, --date=STRING:使用字符串 STRING 指定的时间而不是当前时间。

-t STAMP:使用格式为 [[CC]YY]MMDDhhmm[.ss] 的时间戳,而不是当前时间。

--time=WORD:更改指定时间类型(访问时间、修改时间或创建时间)。WORD 可以是 atime, access, use, mtimemodify

-r, --reference=FILE:使用另一个文件的时间戳,而不是当前时间。

--help:显示帮助信息。

--version:显示版本信息。

示例: 
//创建一个新文件:
touch newfile.txt

//将文件的访问和修改时间更改为当前时间:
touch existingfile.txt

//使用另一个文件的时间戳:
touch -r referencefile.txt newfile.txt

//设置特定的时间戳:
touch -t 202112010830.00 filename

mkdir指

’mkdir‘再Linux中用于创建一个新的目录

基本用法
//创建一个新目录:
mkdir [options] directory_name

//同时创建多个新目录:
mkdir [options] dir1 dir2 dir3

-p, --parents:递归创建目录。如果指定的目录的上级目录不存在,mkdir -p 会自动创建所有必需的父目录。

-v, --verbose:显示创建过程中的信息。

-m, --mode=MODE:设置新创建目录的权限。MODE 是一个符合 Unix 权限表示法的数值(例如 755 或 644)。

示例
//创建一个单独的目录:
mkdir my_directory

//递归创建多级目录结构:
//如果 project 和 project/src 目录不存在,这个命令会先创建这些目录,然后再创建 main 目录。
mkdir -p project/src/main

//创建具有特定权限的目录:
mkdir -m 755 secure_dir

rmdir指令

’rmdir‘在Linux中用于删除空目录。专门用来一出已经为空的目录,相比于 rm 命令,rmdir 在安全性上更有优势,因为它只能删除空目录,避免了误删目录内容的风险。

基本用法
//删除一个空目录:
rmdir [options] directory_name


//递归删除多级空目录:
rmdir -p dir1/dir2/dir3

find指令

find 命令是 Linux系统中用于在文件系统中搜索匹配特定条件的文件和目录。它可以根据多种条件进行搜索,如文件名、文件类型、文件大小、权限、所有者、修改日期等。

基本用法

//在指定路径下搜索文件或目录:
find [path] [expression]

​​​​​​​-name pattern:按照指定的模式搜索文件名。模式内可以使用通配符,如 *.txt 用于匹配所有的文本文件。

-type [type]:按文件类型搜索。常用的类型包括 f(普通文件)、d(目录)、l(符号链接)等。

-size [size]:按文件大小搜索。可以指定单位,如 +50M 表示搜索大于 50 MB 的文件。

-perm [permission]:按权限搜索文件。权限可以用八进制数或符号表示法指定。

-user [username]:搜索属于指定用户的文件。

-group [groupname]:搜索属于指定群组的文件。

-mtime [n]:按文件的最后修改时间搜索。n 是天数,+n 表示超过 n 天,-n 表示不超过 n 天。

-exec [command] {} ;:对搜索到的每个文件执行指定的命令。

-maxdepth [n]:限制搜索的目录深度。

-mindepth [n]:指定最小搜索深度。

示例:
//搜索特定文件:
find /home -name "*.txt"

//搜索特定类型的文件:在根目录下搜索所有目录。
find / -type d

//搜索特定大小的文件:搜索所有大于 50 MB 的文件
find / -size +50M

//结合使用 -exec:将指定目录下所有文件的权限设置为 644。
find /path/to/dir -type f -exec chmod 644 {} \;

tar && zip/unzip 指令

基本用法:

tar命令:

tar(tape archive)命令主要用于创建归档文件(也称为 tarball)。它可以将多个文件和目录合并为一个单独的归档文件,并且可以与压缩命令结合使用,例如 gzip 或 bzip2。

//创建归档文件:
tar -cf archive_name.tar file1 file2 dir1

//解压归档文件:
tar -xf archive_name.tar

//创建压缩的归档文件:
tar -czf archive_name.tar.gz file1 file2 dir1

//解压缩归档文件:
tar -xzf archive_name.tar.gz
常用选项

-c:创建一个新的归档文件。

-x:从归档文件中提取文件。

-f:指定归档文件名。

-z:用 gzip 压缩或解压缩。

-j:用 bzip2 压缩或解压缩。

-v:显示过程中的详细信息。

-t:列出归档内容而不解压。

zip/unzip命令:

zip 命令用于创建 ZIP 格式的压缩文件,而 unzip 命令用于解压 ZIP 文件。

//压缩文件或目录:
zip archive_name.zip file1 file2 dir1

//解压 ZIP 文件:
unzip archive_name.zip

类似与tar的常用选项也都可以用

下一篇文章将展示文本管理指令的用法

未完待续。。。。

  • 22
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值