Linux常用命令

目录

ls:列出目录中的文件和子目录。

cd:切换当前工作目录。

pwd:显示当前工作目录的路径。

cp:复制文件或目录。

mv:移动文件或目录,也可用于重命名。

rm:删除文件或目录。

mkdir:创建新目录。

touch:创建新文件或更新现有文件的时间戳。

cat:查看文件内容。

less:以分页方式查看文件内容。

tail:查看文件的末尾几行。

head:查看文件的开头几行。

grep:在文件中查找指定的字符串。

find:在目录中查找文件。

chmod:更改文件或目录的权限。

chown:更改文件或目录的所有者和所属组。

ps:显示当前正在运行的进程。

top:实时显示系统资源使用情况。

tar:打包或解压缩文件。


前言

Linux基本命令在测试和开发工作中很多场景都会使用到,所以这篇文章总结下常用的 Linux 命令。

ls:列出目录中的文件和子目录。

  1. 不带参数运行ls:不带参数运行ls会只列出文件或者目录。看不到其他信息输出。
  2. 使用长清单模式:使用-l字符(小写L字符),会显示当前目录内容的长列表。
  3. 显示隐藏文件:使用-a(就是all的意思)选项,可以显示隐藏文件。
  4. 按照修改时间排序:使用-t选项,可以按照修改时间排序。
  5. 按照文件大小排序:使用-S选项,可以按照文件大小排序。
  6. 查看文件类型:使用-l选项,可以查看文件类型。

cd:切换当前工作目录。

  1. 进入系统根目录:cd / ( cd /root/ 是切换到系统根目录,但是由于root目录下的文件权限通常是 rwx,所以其他用户是没办法cd进入里面的目录的)
  2. 使用cd命令进入当前用户主目录:cd ~
  3. 切换到上级目录:使用..表示上级目录,可以通过连续多次使用..来切换到更高级的目录。例如:cd .. 或 cd ../../

pwd:显示当前工作目录的路径。

cp:复制文件或目录。

  • 复制一个源文件到目标文件(文件夹):cp 源文件 目标文件(文件夹)
    • cp file.txt /backup
    • cp file.txt /backup/new_file.txt
    • 默认情况下,如果目标文件存在,它将被覆盖。-n选项告诉cp不要覆盖现有文件。要提示确认。
  • 复制一个源目录到目标目录:cp -r 源目录 目标目录
    • cp -r mydir /home/pungki/office

mv:移动文件或目录,也可用于重命名。

  • 将文件从一个位置移动到另一个地方并且不想复制它:mv 源文件 目标文件
    • mv file.txt /backup
    • mv file.txt /backup/new_file.txt
    • 默认情况下,如果目标文件存在,它将被覆盖。-n选项告诉cp不要覆盖现有文件。要提示确认。

rm:删除文件或目录。

  • 删除一个文件:rm 文件名
    • rm test.txt
    • 系统会询问是否删除,输入y后就会删除文件,不想删除则输入n。
  • 删除一个目录:rm -r 目录名
    • rm -r mydir
  • 删除多个文件:rm file1 file2 file3
    • 系统会询问是否删除,输入y后就会删除文件,不想删除则输入n。
  • 递归删除目录及其下所有子目录和文件:rm -r directory_name

mkdir:创建新目录。

  • 创建一个名为runoob的子目录:mkdir runoob
  • 新建一个名为folderOne的文件夹:mkdir folderOne
  • 新建多个名为folderTwo、folderThree和folderFour的文件夹:mkdir folderTwo folderThree folderFour
  • 新建多级文件夹:mkdir -p a/b/c

touch:创建新文件或更新现有文件的时间戳。

  • 创建一个名为file.txt的空文件:touch file.txt
  • 创建一个名为file.txt的新文件,并更改其时间戳:touch -t 202201010101 file.txt

cat:查看文件内容。

  • 显示文件内容:cat file.txt
  • 显示多个文件的内容:cat file1 file2 file3
  • 创建新文件:cat > newfile.txt
  • 连接文件:cat file1 file2 > mergedfile.txt

less:以分页方式查看文件内容。

  • 显示文件的最后10行:less file.txt
  • 显示文件的最后5行:less -n 5 file.txt

tail:查看文件的末尾几行。

  • 显示文件的最后10行:tail file.txt
  • 显示文件的最后5行:tail -n 5 file.txt
  • 实时查看文件的内容:tail -f file.txt

注:++tail命令用于查看文件的尾部内容,而less命令用于查看文件的内容。tail命令一次显示文件的最后几行,而less命令可以滚动浏览文件并支持搜索和编辑。++

head:查看文件的开头几行。

  • 查看文件前5行:head -n 5 file.txt

head命令和tail命名其他地方并无很大差别,此处不再列举

grep:在文件中查找指定的字符串。

  • 在文件中查找一个特定的字符串或者样式:grep "search_string" file_name
  • 在多个文件中查找一个特定的字符串或者样式:grep "search_string" file1 file2 file3
  • 在文件中查找一个特定的字符串或者样式,并显示行号:grep -n "search_string" file_name
  • 在文件中查找一个特定的字符串或者样式,并显示行号和内容:grep -n "search_string" file_name
  • 在文件中查找一个特定的字符串或者样式,但不显示行号:grep -v "search_string" file_name

find:在目录中查找文件。

  • 在当前目录下查找名为file.txt的文件:find . -name file.txt
  • 在当前目录及其子目录下查找所有后缀为.c的文件:find . -name "*.c"
  • 在当前目录及其子目录中查找所有文件:find . -type f
  • 在当前目录及其子目录下查找所有以.txt结尾的文件,并显示行号:grep -n "some_string" $(find . -name "*.txt")

chmod:更改文件或目录的权限。

  • 使文件只读:chmod 444 file.txt
  • 使文件只写:chmod 222 file.txt
  • 使文件只有执行权限:chmod 111 file.txt
  • 删除文件所有者的写权限:chmod 777 file.txt,然后设置新权限为644(即所有者可读写,其他人只能读)chmod 644 file.txt

chown:更改文件或目录的所有者和所属组。

  • 将文件file.txt的拥有者改为user1:chown user1 file.txt
  • 将文件file.txt的拥有者改为user1,同时将其所属组改为group1:chown user1:group1 file.txt
  • 将目录dir1及其下所有文件的拥有者改为user1:chown -R user1 dir1

ps:显示当前正在运行的进程。

  • 不带任何选项的ps命令,显示当前shell中正在运行的进程:ps
  • 显示所有进程的状态,包括进程ID、TTY、CPU使用率、内存使用率、启动时间、运行时间和命令名等信息:ps aux
  • 显示某个特定进程的状态,例如进程ID为1234:ps -p 1234

top:实时显示系统资源使用情况。

  • 显示某个特定进程的状态,例如进程ID为1234:top -p 1234
  • 显示某个特定进程的资源占用情况,例如CPU和内存占用率:top -p 1234 -o %cpu,%mem

tar:打包或解压缩文件。

  • 将/etc/目录和/root/anaconda-ks.cfg文件打包成一个名为myarchive.tar的归档文件:tar -cvf myarchive.tar /etc /root/anaconda-ks.cfg
  • 列出myarchive.tar归档文件中包含的文件:tar -tvf myarchive.tar
  • 从myarchive.tar归档文件中提取所有.txt后缀的文件:tar -xvzf myarchive.tar *.txt

注:++1. -xvzf 参数中:-x 是指提取文件,v 是显示详细信息,z 是使用 gzip 压缩,f 是指定归档文件名。所以 -xvzf 的意思是:提取文件并显示详细信息,同时使用 gzip 压缩 。++

++2. -tvf 的意思是:列出归档文件中包含的文件,同时显示详细信息。++

相关推荐
阿成学长_Cain18 分钟前
Linux telinit 命令详解:运行级别切换|关机重启|系统维护一站式掌握
linux·运维·前端·网络
QXWZ_IA37 分钟前
油气储罐沉降监测用什么技术方案最好?千寻自动化监测+次声波泄漏方案
运维·科技·自动化·能源
NiceCloud喜云1 小时前
Anthropic 一周三连发:Cowork 多端、Fable 5 按需付费、J-space 论文的技术解读
java·服务器·网络·人工智能·ai
qeen872 小时前
【Linux】指令补充与shell的简单介绍
linux·运维·服务器
DLYSB_2 小时前
《从零开始搭建机房轻量化“声光告警”系统:基于 HTTP API 与 TTS 的运维实践》
运维·网络协议·http·报警灯
阿成学长_Cain2 小时前
Linux talk 命令详解:经典终端实时聊天工具,无需图形界面即可对话
linux·运维·前端
一拳一个娘娘腔3 小时前
【后渗透-Linux篇】Linux 提权与逃逸:从 www-data到 root的蜕变
linux·运维·服务器
jieyucx3 小时前
零基础通关:Shell 编程核心语法全景详解
linux·运维·编程·shell
杨运交3 小时前
[045][Crypto模块]设计一个可扩展的加解密框架:策略模式与工厂模式实战
linux·运维·策略模式
shx_wei3 小时前
从函数调用到进程替换:使用 execl、CMake 与 PowerShell 构建一个多可执行程序
linux·c语言·windows·c