无论你是后端程序员还是前端程序员,都避免不了和Linux打交道。Linux的命令有很多,这里仅介绍常用的20个,方便快速查看,也欢迎大家作补充。

1.mkdir 命令

make directories的缩写,用来创建目录创建目录

语法格式 : mkdir [参数] [目录]

常用参数

参数 说明
-p 递归创建多级目录
-m 建立目录的同时设置目录的权限

参考实例

  • 在当前目录下,创建一个名为 dir 的目录
[root@wayne:~]# mkdir dir
  • 在目录/usr/wayne下建立子目录dir,并且设置文件属主有读、写和执行权限,其他人无权访问
[root@wayne:~]# mkdir -m 700 /usr/wayne/dir
  • 同时创建两个目录
[root@wayne:~]# mkdir dir1 dir2
  • 递归创建目录
[root@wayne:~]# mkdir -p dirs/subdir

2.rmdir 命令

remove directory 的缩写,用来删除空的目录

语法格式 : rmdir [参数] [目录名称]

常用参数

参数 说明
-p 递归删除指定的目录路径中的所有父级目录,非空则报错
-v 显示命令的详细执行过程

参考实例

  • 删除空目录
[root@wayne:~]# rmdir dir
  • 递归删除指定的目录树
[root@wayne:~]# rmdir -p dirs/subdir/dir1
  • 显示详细执行过程
[root@wayne:~]# rmdir -p -v dirs/subdir/dir1
rmdir: removing directory, 'dirs/subdir/dir1/'
rmdir: removing directory, 'dirs/subdir'
rmdir: removing directory, 'dirs'

3.touch 命令

用来创建新的空文件,或者变已有文件的时间戳属性

语法格式 : touch [参数] [文件]

常用参数

参数 说明
-a 改变档案的读取时间记录
-m 改变档案的修改时间记录

参考实例

  • 创建空文件
[root@wayne:~]# touch myfile.txt
  • 批量创建文件
[root@wayne:~]# touch myfile{1..5}.txt
[root@wayne:~]# ls
myfile1.txt myfile2.txt myfile3.txt myfile4.txt myfile5.txt
  • 修改文件的access(访问)时间
[root@wayne:~]# stat myfile.txt
File: ‘myfile.txt’
...
Access: 2023-03-07 12:15:46.931368541 +0800
Modify: 2023-03-07 12:15:46.931368541 +0800
Change: 2023-03-07 12:15:46.931368541 +0800 [root@wayne:~]# touch -a myfile.txt
[root@wayne:~]# stat myfile.txt
File: ‘myfile.txt’
...
Access: 2023-03-07 12:17:15.675569149 +0800
Modify: 2023-03-07 12:15:46.931368541 +0800
Change: 2023-03-07 12:17:15.675569149 +0800
  • 修改文件的modify(修改)时间
[root@wayne:~]# stat myfile.txt
File: ‘myfile.txt’
...
Access: 2023-03-07 12:17:15.675569149 +0800
Modify: 2023-03-07 12:15:46.931368541 +0800
Change: 2023-03-07 12:17:15.675569149 +0800 [root@wayne:~]# touch -m myfile.txt
[root@wayne:~]# stat myfile.txt
File: ‘myfile.txt’
...
Access: 2023-03-07 12:17:15.675569149 +0800
Modify: 2023-03-07 12:19:08.223649598 +0800
Change: 2023-03-07 12:19:08.223649598 +0800

4.rm 命令

用来删除一个目录中的一个或多个文件(目录)

语法格式 : rmdir [参数] [目录名称]

常用参数

参数 说明
-f 忽略不存在的文件,不会出现警告信息
-i 删除前会询问用户是否操作
-r 递归删除
-v 显示指令的详细执行过程

参考实例

  • 删除前逐一询问确认:
[root@wayne:~]# rm -i myfile.txt
rm: remove regular empty file 'myfile.txt'?
  • 直接删除,无任何提示:
[root@wayne:~]# rm -f myfile.txt
  • 递归删除目录及目录下所有文件:
[root@wayne:~]# mkdir dirs/subdir/dir1
[root@wayne:~]# rm -rf dirs/subdir/dir1
  • 删除当前目录下所有文件:
[root@wayne:~]# rm -rf *
  • 清空系统中所有的文件(慎用):
[root@wayne:~]# rm -rf /*

5.mv 命令

move的缩写,用来移动文件或对其改名

语法格式 : mv [参数]

常用参数

参数 说明
-i 如果存在同名文件,则向用户询问是否覆盖
-f 覆盖已有文件时,不进行任何提示
-b 当文件存在时,覆盖前为其创建一个备份
-u 当源文件比目标文件新,或者目标文件不存在时,才执行移动操作

参考实例

  • 将文件file1重命名为file2:
[root@wayne:~]# mv file1 file2
  • 将文件myfile移动到目录dir中 :
[root@wayne:~]# mv myfile /dir
  • 将目录dir1移动目录dir2中(目录dir2已存在,若不存在则改名):
[root@wayne:~]# mv /dir1 /dir2
  • 将srcdir目录下的所有文件移动到当前目录中:
[root@wayne:~]# mv srcdir/* .

6.cp 命令

copy的缩写,用来复制文件或目录

语法格式 : cp [参数] [文件]

常用参数

参数 说明
-f 若目标文件已存在,则会直接覆盖原文件
-i 若目标文件已存在,则会询问是否覆盖
-r 递归复制文件和目录
-d 当复制符号连接时,把目标文件或目录也建立为符号连接,并指向与源文件或目录连接的原始文件或目录
-l 对源文件建立硬连接,而非复制文件
-s 对源文件建立符号连接,而非复制文件

参考实例

  • 复制目录:
[root@wayne:~]# cp -r dir1 dir2/
  • 将文件srcfile 复制成文件dstfile:
[root@wayne:~]# cp srcfile  dstfile
  • 复制多个文件到dir目录中:
[root@wayne:~]# cp -r file1 file2 file3 dir
  • 将 /usr/wayne 目录中的所有.c文件复制到目录 dstdir 中
[root@wayne:~]# cp -r /usr/wayne/*.c dstdir

7 cat 命令

用来显示文件的内容

语法格式 : cat [参数] [文件]

常用参数

参数 说明
-n 对所有输出的行数编号
-b 对于空白行不编号
-s 连续两行以上的空白行,替换为一行的空白行

参考实例

  • 不带行号打印文件内容:
[root@wayne:~]# cat file
  • 带行号打印文件内容:
[root@wayne:~]# cat -n file

8.pwd 命令

print working directory 的缩写,用来打印工作目录

参考实例

查看当前工作目录路径:

[[root@wayne:~]# pwd
/home/wayne

9.ls 命令

list 的缩写,用来列出指定目录下的内容及其相关属性信息

语法格式 : ls [参数] [文件]

常用参数

参数 说明
-a 显示所有文件及目录 (包括以“.”开头的隐藏文件)
-A 同 -a ,但不列出 “.” (当前目录) 及 “..” (父目录)
-l 使用长格式列出文件及目录信息
-r 将文件以相反次序显示(默认依英文字母次序)
-t 根据最后的修改时间排序
-S 根据文件大小排序
-R 递归列出所有子目录

参考实例

  • 查看当前目录中的文件
[root@wayne:~]# ls -a
  • 查看当前目录中的所有文件 (包括开头为 . 的隐藏文件):
[root@wayne:~]# ls -a
  • 查看文件和目录的详细信息:
[root@wayne:~]# ls -l
  • 查看根目录(/)下的所有文件:
[root@wayne:~]# ls /
  • 列出当前工作目录下所有名称是 “s” 开头的文件 :
[root@wayne:~]# ls -ltr s*
  • 列出 /bin 目录下的所有目录及文件的详细信息 :
[root@wayne:~]# ls -lR /bin
  • 列出当前工作目录下所有文件及目录并以文件的大小进行排序 :
[root@wayne:~]# ls -AS

10.cd 命令

change directory的缩写,用来切换到指定目录

语法格式 : cd [参数] [目录名]

常用参数

参数 说明
- 返回上次所在的目录
~ 切换至当前用户目录
.. 切换到上一层目录

参考实例

  • 当前工作目录切换到dir目录
[root@wayne:~]# cd dir
  • 切换到当前用户目录:
[root@wayne:~]# cd ~
  • 切换到上一级目录:
[root@wayne:~]# cd ..
  • 切换到上两级目录:
[root@wayne:~]# cd ../..
  • 切换到根目录:
[root@wayne:~]# cd /

———————————————————————————————

码字不易,点个赞再走吧!也欢迎私信,一起交流!

Linux常用的20个命令(上)的更多相关文章

  1. Linux常用的20个命令

    以下为20个命令 1.ls命令:ls命令式列出目录内容(List Directory Contents)的意思.运行它就是列出文件夹里面的内容,可能是文件也可能是文件夹. root@tecmint:~ ...

  2. linux -- 常用的20个命令

    1. ls命令 ls命令是列出目录内容(List Directory Contents)的意思.运行它就是列出文件夹里的内容,可能是文件也可能是文件夹. root@tecmint:~# ls Andr ...

  3. Linux之我最常用的20条命令

    Linux之我最常用的20条命令 玩过 Linux的人都会知道, Linux中的命令的确是非常多,但是玩过 Linux的人也从来不会因为 Linux的命令如此之多而烦恼,因为我们只需要掌握我们最常用的 ...

  4. Linux常用的50个命令

    50个最常用的Unix/Linux命令 2014-08-20 这篇文章翻译自http://www.thegeekstuff.com/2010/11/50-linux-commands/这些都是一些很常 ...

  5. Linux常用的18个命令(复习)

    1. cd命令 它用于切换当前目录,它的参数是要切换到的目录的路径,可以是绝对路径,也可以是相对路径.如: cd /root/Docements # 切换到目录/root/Docements cd . ...

  6. Linux常用基本命令:三剑客命令之-awk内置变量与自定义变量

    AWK中,变量分为两种:内置变量与自定义变量. 常见的内置变量有: FS:输入字段分隔符, 默认为空白字符 OFS:输出字段分隔符, 默认为空白字符 RS:输入记录分隔符(输入换行符), 指定输入时的 ...

  7. 初窥Linux 之 我最常用的20条命令

    魏公 SecureCRTuname -avisftppartition,fsshell kshell,bshelluser,groupIPTables文件数,内核参数tail,less/var/log ...

  8. linux最常用的20条命令

    玩过Linux的人都会知道,Linux中的命令的确是非常多,但是玩过Linux的人也从来不会因为Linux的命令如此之多而烦恼,因为我们只需要掌握我们最常用的命令就可以了.当然你也可以在使用时去找一下 ...

  9. linux最常用的20个命令

    玩过Linux的人都会知道,Linux中的命令的确是非常多,但是玩过Linux的人也从来不会因为Linux的命令如此之多而烦恼,因为我们只需要掌握我们最常用的命令就可以了.当然你也可以在使用时去找一下 ...

  10. 初窥Linux之我最常用的20条命令

    1.cd命令   这是一个非常基本,也是大家经常需要使用的命令,它用于切换当前目录,它的参数是要切换到的目录的路径,可以是绝对路径,也可以是相对路径.如: cd /root/Docements # 切 ...

随机推荐

  1. 【MicroPython】用 c 添加接口 -- 添加 type

    [来源]https://www.eemaker.com/micropython-type.html

  2. EasyNetQ(RabbitMQ)在处理消息时,如果抛出异常,继续不断发送到订阅队列,不断处理(也就是不自动确认消息已到达)

    默认情况下,EasyNetQ的消息处理过程中,如果throw exception,那么,依然是认为消息已经送达,不会再次推送,为了让RabbitMQ再次推送,可以这么实现: public sealed ...

  3. 百度网盘(百度云)SVIP超级会员共享账号每日更新(2023.12.21)

    一.百度网盘SVIP超级会员共享账号 可能很多人不懂这个共享账号是什么意思,小编在这里给大家做一下解答. 我们多知道百度网盘很大的用处就是类似U盘,不同的人把文件上传到百度网盘,别人可以直接下载,避免 ...

  4. [转帖]Spring为啥不推荐使用@Autowired注解?

    https://my.oschina.net/u/5079097/blog/5289666   引言 使用IDEA开发时,同组小伙伴都喜欢用@Autowired注入,代码一片warning,看着很不舒 ...

  5. [转帖]Shell编程之免交互

    目录 交互的概念与Linux中的运用 Here Document 免交互 tee命令重定向输出加标准输出 支持变量替换 多行注释 Expect 实例操作 免交互预设值修改用户密码 创建用户并设置密码 ...

  6. Navicat For Redis 的学习与使用

    Navicat For Redis 的学习与使用 背景 周末在家看了几个公众号: 说到Navicat 16.2已经有了 Redis的客户端. 想着前段时间一直在学习Redis, 但是没有GUI的工具, ...

  7. [转帖]一次python服务的性能优化经历

    https://juejin.cn/post/7208708762265616421 问题背景: ​ 在我们的业务中,有一些推荐的场景会需要走到集团研究院的算法推荐服务,对一些用户进行个性化的课件推荐 ...

  8. KylinV10升级部分软件的简单方法

    背景 2022-12-26有同事晚上在群里反馈客户现场的测试环境内存紧张. 我这边第一反应是进程重复了,导致内存使用量飙升. 告知现场使用 ps -ef |grep java |grep caf 发现 ...

  9. 京东哥伦布即时设计平台ChatGPT落地实践

    一.平台介绍 即时设计平台是一个即时搭建c端楼层的开发平台,支持通过导入relay设计稿url完成Ui2Code,在此基础上完成前端可视化搭建,同时支持通过ChatGPT完成一句话需求,搭建后的楼层自 ...

  10. window.addEventListener注册滚动scroll事件不生效

    先了解一下滚动事件触发的条件 视图或者一个元素在滚动时,会触发元素的 scroll 事件. 备注: 在 iOS UIWebViews 中,滚动进行时不会触发 scroll 事件:只有当滚动结束后事件才 ...