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 的意思是:列出归档文件中包含的文件,同时显示详细信息。++

相关推荐
码狂☆1 分钟前
ubuntu连接orangepi-zero-2w桌面的几种方法
linux·ubuntu
学习向前冲19 分钟前
安装一键式重置密码插件(Linux)-CloudResetPwdAgent
linux·运维·服务器
RobinDevNotes1 小时前
自动化构建镜像:Packer
运维·packer
石兴稳1 小时前
Ceph client 写入osd 数据的两种方式librbd 和kernel rbd
linux·ceph
fareast_mzh1 小时前
Setting Up a Simple Live Streaming Server on Debian 11
运维·debian·直播
xs_20121 小时前
引入第三方jar包部署服务器后找不到jar处理方法
服务器·pycharm·jar
大G哥2 小时前
python 数据类型----可变数据类型
linux·服务器·开发语言·前端·python
BillKu2 小时前
Linux设置Nginx开机启动
linux·运维·nginx
阿大撒大撒3 小时前
Linux 服务器虚拟化技术详解
服务器
东方佑3 小时前
FastHTML快速入门:服务器渲染超媒体应用的利器
运维·服务器