首页 > 系统相关 >【linux命令】史上最全Linux命令,结合用例通俗易懂

【linux命令】史上最全Linux命令,结合用例通俗易懂

时间:2024-11-04 16:46:22浏览次数:3  
标签:用例 virtual machine 命令 ls linux test home sqd

前言:目前关于 Linux 命令的文章往往存在内容不全的问题,导致初学者和中级用户在使用过程中遇到困难。许多文章仅涵盖基础命令,而缺乏对系统管理、网络配置、包管理和脚本编写等重要主题的详细讲解。此外,实际操作中的常见问题及其解决方案也常常未被提及,使得用户在遇到困难时无法找到有效的参考。

        为了弥补这一不足,需要一份更为全面的 Linux 命令指南,涵盖从基础到高级的各种命令使用,以及实际应用场景中的技巧与建议。这样的资源不仅能够帮助用户快速上手,还能提升他们对系统管理和自动化的理解,从而在实际工作中更加得心应手。丰富的示例和实用技巧将为用户的学习之路提供极大帮助。整理不易,读友们点点赞和一手关注,你们的支持就是我免费更新文章的动力。

文件和目录操作

1.  ls用于列出目录中的文件和子目录(如果参数没有指定目录,默认当前目录)

ls [选项] [文件或目录]

sqd@sqd-virtual-machine:~/ls_test$ ls
test01.c  test02.c  test04  test05

常用选项

1)-a显示所有文件,包括以点 . 开头的隐藏文件(通常主目录中的隐藏文件和目录包含该用户程序访问的设置或数据,它们不打算让用户编辑)

sqd@sqd-virtual-machine:~/ls_test$ ls -a
.  ..  test01.c  test02.c  .test03  test04  test05

2)-l以长格式显示文件信息,包括权限、链接数、所有者、组、文件大小和最后修改时间。通常结合其他一起使用

与 -h 一起使用时,显示可读性更强的文件大小(如 KB、MB)。
sqd@sqd-virtual-machine:~/ls_test$ ls -lh
总用量 12K
-rw-r--r-- 1 sqd sqd 4.0K 11月  3 21:41 test01.c
-rw-r--r-- 1 sqd sqd   41 11月  3 21:37 test02.c
-rw-r--r-- 1 sqd sqd    0 9月  20  2023 test04
drwxrwxr-x 2 sqd sqd 4.0K 11月  3 21:37 test05

与 -S 一起使用时,列出所有文件,按大小排序。
sqd@sqd-virtual-machine:~/ls_test$ ls -lS
总用量 12
drwxrwxr-x 2 sqd sqd 4096 11月  3 21:37 test05
-rw-r--r-- 1 sqd sqd 4079 11月  3 21:41 test01.c
-rw-r--r-- 1 sqd sqd   41 11月  3 21:37 test02.c
-rw-r--r-- 1 sqd sqd    0 9月  20  2023 test04

与 -t 一起使用时,按修改时间排序,最近修改的文件排在前面。
sqd@sqd-virtual-machine:~/ls_test$ ls -lt
总用量 12
-rw-r--r-- 1 sqd sqd 4079 11月  3 21:41 test01.c
drwxrwxr-x 2 sqd sqd 4096 11月  3 21:37 test05
-rw-r--r-- 1 sqd sqd   41 11月  3 21:37 test02.c
-rw-r--r-- 1 sqd sqd    0 9月  20  2023 test04

3)-R:递归列出所有子目录及其内容

sqd@sqd-virtual-machine:~/ls_test$ ls -R
.:
test01.c  test02.c  test04  test05

./test05:
文本文档.txt

2.cd 是 Linux 系统中用来更改当前工作目录的命令。以"/"开头的目录就是绝对路径。

cd  [目录名]

1)切换到指定目录

sqd@sqd-virtual-machine:~/ls_test$ cd /home/sqd/ls_test/cd_test
sqd@sqd-virtual-machine:~/ls_test/cd_test$ 

2)切换到上一级目录

sqd@sqd-virtual-machine:~/ls_test/cd_test$ cd ..
sqd@sqd-virtual-machine:~/ls_test$ 

3)切换到用户的主目录

sqd@sqd-virtual-machine:~/ls_test$ cd
sqd@sqd-virtual-machine:~$ 

4)切换到当前目录的子目录

sqd@sqd-virtual-machine:~$ cd ls_test
sqd@sqd-virtual-machine:~/ls_test$ 

3.pwd表示 "print working directory",用于显示当前的工作目录路径。

sqd@sqd-virtual-machine:~/ls_test$ pwd
/home/sqd/ls_test

4.mkdir命令,用于创建新目录。

mkdir [选项] 目录名

1)创建一个目录

sqd@sqd-virtual-machine:~/ls_test$ mkdir mkdir_test
sqd@sqd-virtual-machine:~/ls_test$ cd mkdir_test
sqd@sqd-virtual-machine:~/ls_test/mkdir_test$ 

2)创建多个目录

sqd@sqd-virtual-machine:~/ls_test$ mkdir mkdir_test01 mkdir_test02 mkdir_test03
sqd@sqd-virtual-machine:~/ls_test$ ls
cd_test  mkdir_test  mkdir_test01  mkdir_test02  mkdir_test03  test01.c  test02.c  test04  test05

3)需要使用 -p 创建嵌套目录

sqd@sqd-virtual-machine:~/ls_test$ mkdir -p mkdir_test04/next
sqd@sqd-virtual-machine:~/ls_test$ ls -R
.:
cd_test  mkdir_test  mkdir_test01  mkdir_test02  mkdir_test03  mkdir_test04  test01.c  test02.c  test04  test05

./cd_test:

./mkdir_test:

./mkdir_test01:

./mkdir_test02:

./mkdir_test03:

./mkdir_test04:
next

./mkdir_test04/next:

./test05:
文本文档.txt

5.rm 命令,用于删除文件或目录

rm [选项] 文件名

1)删除一个文件

sqd@sqd-virtual-machine:~/ls_test$ ls
cd_test  mkdir_test  mkdir_test04  test01.c  test02.c  test04  test05
sqd@sqd-virtual-machine:~/ls_test$ rm test01.c
sqd@sqd-virtual-machine:~/ls_test$ ls
cd_test  mkdir_test  mkdir_test04  test02.c  test04  test05

2)-r:递归删除,删除目录及其包含的所有文件和子目录

sqd@sqd-virtual-machine:~/ls_test$ ls
cd_test  mkdir_test  mkdir_test04  test02.c  test04  test05
sqd@sqd-virtual-machine:~/ls_test$ rm -r mkdir_test
sqd@sqd-virtual-machine:~/ls_test$ ls
cd_test  mkdir_test04  test02.c  test04  test05

3)-f:强制删除,不提示确认

sqd@sqd-virtual-machine:~/ls_test$ ls
cd_test  mkdir_test04  test02.c  test04  test05
sqd@sqd-virtual-machine:~/ls_test$ rm -f test02.c
sqd@sqd-virtual-machine:~/ls_test$ ls
cd_test  mkdir_test04  test04  test05

6.cp命令用于复制文件和目录

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

1)复制一个文件到另一个位置(建议使用绝对路径)

sqd@sqd-virtual-machine:~$ cp /home/sqd/ls_test/test01.c /home/sqd/cp_test
sqd@sqd-virtual-machine:~$ ls /home/sqd/cp_test
test01.c

2)复制多个文件到一个目录

sqd@sqd-virtual-machine:~$ cp /home/sqd/ls_test/test01.c /home/sqd/ls_test/test02.c /home/sqd/cp_test
sqd@sqd-virtual-machine:~$ ls /home/sqd/cp_test
test01.c  test02.c

3)-r:复制文件目录及其内容

sqd@sqd-virtual-machine:~$ cp -r /home/sqd/ls_test/test05 /home/sqd/cp_test
sqd@sqd-virtual-machine:~$ ls /home/sqd/cp_test
test01.c  test02.c  test05

4)-i:在覆盖文件前提示确认

sqd@sqd-virtual-machine:~$ cp -i  /home/sqd/ls_test/test01.c /home/sqd/cp_test/
cp:是否覆盖'/home/sqd/cp_test/test01.c'? y

7.mv 命令用于移动或重命名文件和目录。

1)移动文件或目录

移动文件
sqd@sqd-virtual-machine:~$ mv /home/sqd/ls_test/test01.c /home/sqd/mv_test
sqd@sqd-virtual-machine:~$ ls /home/sqd/mv_test
test01.c
移动目录
sqd@sqd-virtual-machine:~$ mv /home/sqd/ls_test/test05 /home/sqd/mv_test
sqd@sqd-virtual-machine:~$ ls /home/sqd/mv_test
test01.c  test05

2)重命名文件或目录

sqd@sqd-virtual-machine:~$ mv /home/sqd/mv_test/test01.c  /home/sqd/mv_test/test01_new.c
sqd@sqd-virtual-machine:~$ ls /home/sqd/mv_test
test01_new.c  test05

8.touch 命令用于创建空文件或更新已有文件的时间戳(mkdir是创建目录的)

1)创建一个新的空文件

sqd@sqd-virtual-machine:~$ touch /home/sqd/touch_test/test01.c
sqd@sqd-virtual-machine:~$ ls /home/sqd/touch_test
test01.c

2)如果文件已存在,touch 会更新该文件的最后访问和修改时间戳

sqd@sqd-virtual-machine:~$ ls -lh /home/sqd/touch_test/test01.c
-rw-rw-r-- 1 sqd sqd 0 11月  4 10:44 /home/sqd/touch_test/test01.c
sqd@sqd-virtual-machine:~$ touch /home/sqd/touch_test/test01.c
sqd@sqd-virtual-machine:~$ ls -lh /home/sqd/touch_test/test01.c
-rw-rw-r-- 1 sqd sqd 0 11月  4 10:47 /home/sqd/touch_test/test01.c

9.cat 命令常用于查看文本文件的内容、合并多个文件,或者创建新文件

1)创建一个新文件

sqd@sqd-virtual-machine:~$ cat > /home/sqd/cat_test/test01.c
hellow world\n                # 输入内容,按 Ctrl+D 结束

2)显示文件内容

sqd@sqd-virtual-machine:~$ cat /home/sqd/cat_test/test01.c
hellow world\n

3)合并多个文件

sqd@sqd-virtual-machine:~/cat_test$ cat test01.c test02.c > test03.c
sqd@sqd-virtual-machine:~/cat_test$ ls
test01.c  test02.c  test03.c
sqd@sqd-virtual-machine:~/cat_test$ cat test03.c
hellow world\n china

10.chmod 是用于修改文件或目录权限的命令

chmod [选项] 模式 文件名
权限类型(只能使用八进制方式修改权限):
r:读权限 (read)       =4
w:写权限 (write)      =2
x:执行权限 (execute)  =1
权限的三种角色
u:文件所有者 (user)
g:用户组 (group)
o:其他用户 (others)
文件所有者:就是当前建立文件的用户
用户组:和文件所有者处于同一个组的其他用户,sqd用户属于多个组
表示用户 sqd 拥有相当多的权限,特别是通过 sudo 组。
sqd@sqd-virtual-machine:~$ groups sqd
sqd : sqd adm cdrom sudo dip plugdev lpadmin sambashare

1)设置文件权限

sqd@sqd-virtual-machine:~$ ls -lh /home/sqd/ls_test/test02.c
-rw-rw-r-- 1 sqd sqd 0 11月  3 22:47 /home/sqd/ls_test/test02.c
sqd@sqd-virtual-machine:~$ chmod 774 /home/sqd/ls_test/test02.c#修改为其他用户只读
sqd@sqd-virtual-machine:~$ ls -lh /home/sqd/ls_test/test02.c
-rwxrwxr-- 1 sqd sqd 0 11月  3 22:47

2)-R:设置目录 及其所有子项设置读、写、执行权限

sqd@sqd-virtual-machine:~$ chmod -R 777 /home/sqd/ls_test
sqd@sqd-virtual-machine:~$ ls -lh /home/sqd/ls_test/test02.c
-rwxrwxrwx 1 sqd sqd 0 11月  3 22:47 

11.chown命令改变文件或目录的所有者

sqd@sqd-virtual-machine:~$ ls -lh /home/sqd/ls_test/test02.c
-rwxrwxrwx 1 sqd sqd 0 11月  3 22:47
sqd@sqd-virtual-machine:~$ sudo chown new_sqd /home/sqd/ls_test/test02.c
sqd@sqd-virtual-machine:~$ ls -lh /home/sqd/ls_test/test02.c
-rwxrwxrwx 1 new_sqd sqd 0 11月  3 22:47 

12.find 命令用于在目录层次结构中查找文件和目录。它功能强大,支持多种查找条件和操作


find [路径] [选项] [查找条件]

1)在当前目录及其子目录中查找文件(尽量缩小范围,大范围搜索会很慢)

sqd@sqd-virtual-machine:~$ find /home/sqd/ls_test -name test02.c
/home/sqd/ls_test/test02.c

2)按文件名查找(不区分大小写)

sqd@sqd-virtual-machine:~$ find /home/sqd/ls_test -iname test02.c
/home/sqd/ls_test/TEST02.C
/home/sqd/ls_test/test02.c

13.which命令查找可执行文件的路径,通常用于查找命令(速度快,查找命令推荐使用,因为它是直接到PATH目录中查找)

sqd@sqd-virtual-machine:~$ which pwd
/bin/pwd

14.grep命令主要用于文本搜索

sqd@sqd-virtual-machine:~$ grep "China" /home/sqd/ls_test/test02.c
China - 中国

15.vim 是一个比vi功能更强大的文本编辑器

启动:在终端中输入 vim filename 来打开文件。

三种模式:
普通模式:启动后默认模式,使用快捷键进行导航和操作。
插入模式:按 i 进入,开始编辑文本,ESC回到普通模式。
命令模式:普通模式下按 : 进入,可以输入命令。

普通模式下操作有:
移动光标:
h:左
j:下
k:上
l:右
编辑文本:
i:插入模式(在光标前插入)。
a:插入模式(在光标后插入)。
o:在当前行下插入新行。
删除文本:
x:删除光标所在的字符。
dd:删除整行。
撤销与重做:
u:撤销上一步操作。
Ctrl + r:重做操作。

命令模式下操作有:
保存文件
:w:保存当前文件。
退出
:q:退出 vim(如果没有更改)。
:q!:强制退出(不保存更改)。
:wq 或 :x:保存并退出。
显示行号
:set number:显示行号。
:set nonumber:隐藏行号。

16.zip 是一个用于创建和管理 ZIP 文件的命令行工具

要将多个文件或目录压缩成一个 ZIP 文件,使用以下命令:
zip archive.zip file1 file2 directory/*
archive.zip:你要创建的 ZIP 文件的名称。
file1、file2:要压缩的文件。
directory/*:要压缩的目录中的所有文件。

要解压 ZIP 文件,可以使用以下命令:
unzip archive.zip

17.tar 是一个用于打包和解压文件的命令行工具(与压缩工具结合使用时,压缩效果好,适合大文件的处理)

1)打包文件

tar -cvf archive.tar file1 file2 directory/

2)打包并压缩(与gzip一起使用)

tar -czvf archive.tar.gz file1 file2 directory/

3)解压归档文件

要解压 .tar 文件,使用 -x(extract)选项

tar -xvf archive.tar

要解压 tar.gz文件

tar -xzvf archive.tar.gz  # 解压 .tar.gz

要解压 tar.bz2 文件

tar -xjvf archive.tar.bz2 # 解压 .tar.bz2

结语:文件和目录操作命令基本都在上面了,还有些极少用的命令和用法就不过多赘述了。后续会发文更新其他类型的命令,读友们有什么问题请及时在评论区和我交流,都会及时回复的。

标签:用例,virtual,machine,命令,ls,linux,test,home,sqd
From: https://blog.csdn.net/qq_69923281/article/details/143471130

相关文章

  • linux的Miniconda安装
    下载官网下载安装包:官网安装终端输入以下命令安装shMiniconda3-latest-Linux-x86_64.sh出现如下页面,摁住回车出现如下页面,松开回车,输入yes继续回车输入yes安装完成!重启终端生效,或者执行下面命令立即生效:source~/.bashrc......
  • windows命令笔记
    Windows命令笔记准备工作所有主机开机配置IP地址,关闭防火墙。需要加域的主机,改名和加域同时进行。以国赛题为例:具体根据题目来:DC1:开机添加重当D盘;更改主机名,重启。DC2:添加三块10G虚拟磁盘,用来配置Raid5;更改主机名,重启RouterSrv:可以安装路由和转发,不过加域重启后,服务会关......
  • Linux配置定时任务,定时(每分钟)查看jar是否运行,没有运行则重新启动
    Linux配置定时任务,定时(每分钟)查看jar是否运行,没有运行则重新启动部署在Linux服务器上的服务,有时会因为其他原因(如内存溢出,误杀)导致服务被kill了,影响业务的正常运行。为避免这类问题发生,需要配置监控(定时查询服务是否还在运行中),当发现服务被kill掉了,则重新启动!1、准备工作Jav......
  • linux中怎么查看磁盘详细使用情况
    在Linux系统中,查看磁盘详细使用情况主要有以下几个命令和工具:1. df 命令df (diskfree)命令用于查看文件系统的总空间、已使用空间、剩余空间以及使用率等信息。以下是一些基本用法: #显示所有文件系统及其磁盘使用情况,以人类可读的格式(KB、MB、GB等) df-h ......
  • 常见的100个Shell命令(非常详细)零基础入门到精通,收藏这一篇就够了
    在大多数的Linux和Unix系统、及其他类Unix系统中,Shell是用户与操作系统内核交互的主要方式。作为一种强大的命令行解释器,它也支持编程功能,用户可以写脚本来处理各种任务。熟悉shell脚本,首先要对shell指令熟悉,今天就简单介绍常用的**100个Shell命令**,希望对你有所帮助!【文......
  • Linux查看当前服务占用CPU,内存以及硬盘使用情况
        执行top命令此处为当前服务器运行CPU等待率,越低速度越快。左侧展示每个集成的CPU使用情况,右侧为每个进程对应的运行内存使用其中:%us:表示用户空间程序的cpu使用率(没有通过nice调度)%sy:表示系统空间的cpu使用率,主要是内核程序。%ni:表示用户空间且通过nice调度过......
  • Linux操作系统之命令解释:ls -l|grep ^-|wc -l
    前言1、ls-l|grep^-|wc-l含义:Linux操作系统下查看当前目录内的文件数量(不包含子目录中的文件)(因为目录的权限首字母为d:代表文件夹)2、分段解释:ls-l:列出当前目录下所有文件。grep^-:grep用于筛选前面管道传来的信息,筛选标准:[行首后紧跟着一个-符号](^代表行首)(表示过滤......