Linux常用命令合集(一)
1.处理目录的常用命令:
ls(英文全拼:list files): 列出目录及文件名
cd(英文全拼:change directory):切换目录
pwd(英文全拼:print work directory):显示目前的目录
mkdir(英文全拼:make directory):创建一个新的目录
rmdir(英文全拼:remove directory):删除一个空的目录
cp(英文全拼:copy file): 复制文件或目录
rm(英文全拼:remove): 移除文件或目录
mv(英文全拼:move file): 移动文件与目录,或修改文件与目录的名称
你可以使用 man [命令] 来查看各个命令的使用文档,如 :man cp。
- ls(列出目录):在Linux系统当中, ls 命令可能是最常被运行的。
- 语法:
ls [-aAdfFhilnrRSt] 目录名称
ls [--color={never,auto,always}] 目录名称
ls [--full-time] 目录名称
-选项与参数:
- -a :全部的文件,连同隐藏文件( 开头为 . 的文件) 一起列出来(常用)
- -d :仅列出目录本身,而不是列出目录内的文件数据(常用)
- -l :长数据串列出,包含文件的属性与权限等等数据;(常用)
-举例:
> - 将家目录下的所有文件列出来(含属性与隐藏档)
[root@www ~]# ls -al ~
- cd(切换目录):cd是Change Directory的缩写,这是用来变换工作目录的命令。
-语法:
cd [相对路径或绝对路径]
-举例:
> - 使用 mkdir 命令创建 runoob 目录
[root@www ~]# mkdir runoob
> - 使用绝对路径切换到 runoob 目录
[root@www ~]# cd /root/runoob/
> - 使用相对路径切换到 runoob 目录
[root@www ~]# cd ./runoob/
> - 表示回到自己的家目录,亦即是 /root 这个目录
[root@www runoob]# cd ~
> - 表示去到目前的上一级目录,亦即是 /root 的上一级目录的意思;
[root@www ~]# cd ..
- pwd(显示目前所在的目录):pwd 是 Print Working Directory 的缩写,也就是显示目前所在目录。
-语法:
pwd [-p]
-选项与参数:
- -p :显示出确实的路径,而非使用连结 (link) 路径。
-举例:
> - 单纯显示出目前的工作目录:
[root@www ~]# pwd
/root <== 显示出目录啦~
实例显示出实际的工作目录,而非连结档本身的目录名而已。
[root@www ~]# cd /var/mail <==注意,/var/mail是一个连结档
[root@www mail]# pwd
/var/mail <==列出目前的工作目录
[root@www mail]# pwd -P
/var/spool/mail <==怎么回事?有没有加 -P 差很多~
[root@www mail]# ls -ld /var/mail
lrwxrwxrwx 1 root root 10 Sep 4 17:54 /var/mail -> spool/mail
因为 /var/mail 是连结档,连结到 /var/spool/mail 所以,加上 pwd -P 的选项后,会不以连结档的数据显示,而是显示正确的完整路径
- mkdir(创建新目录):创建新的目录,使用mkdir(make directory)
-语法:
>mkdir [-mp] 目录名称
-选项与参数:
- -m :配置文件的权限!直接配置,不需要看默认权限(umask)的脸色。
- -p :帮助你直接将所需要的目录(包含上一级目录)递归创建起来。
-举例:
> - 请到/tmp底下尝试创建数个新目录看看:
[root@www ~]# cd /tmp
[root@www tmp]# mkdir test <==创建一名为 test 的新目录
[root@www tmp]# mkdir test1/test2/test3/test4
mkdir: cannot create directory `test1/test2/test3/test4':
No such file or directory <== 没办法直接创建此目录!
[root@www tmp]# mkdir -p test1/test2/test3/test4
加了这个 -p 的选项,可以自行帮你创建多层目录!
> - 创建权限为 rwx--x--x 的目录。
[root@www tmp]# mkdir -m 711 test2
[root@www tmp]# ls -l
drwxr-xr-x 3 root root 4096 Jul 18 12:50 test
drwxr-xr-x 3 root root 4096 Jul 18 12:53 test1
drwx--x--x 2 root root 4096 Jul 18 12:54 test2
注意:上面的权限部分,如果没有加上 -m 来强制配置属性,系统会使用默认属性。
如果我们使用 -m ,如上例我们给予 -m 711 来给予新的目录 drwx--x--x 的权限。
- rmdir(删除目录):删除空的目录
-语法:
rmdir [-p] 目录名称
-选项与参数:
- -p :连同上一级『空的』目录也一起删除
-举例:
> - 删除 runoob 目录
[root@www tmp]# rmdir runoob/
> - 将 mkdir 实例中创建的目录(/tmp 底下)删除掉!
[root@www tmp]# ls -l <==看看有多少目录存在?
drwxr-xr-x 3 root root 4096 Jul 18 12:50 test
drwxr-xr-x 3 root root 4096 Jul 18 12:53 test1
drwx--x--x 2 root root 4096 Jul 18 12:54 test2
[root@www tmp]# rmdir test <==可直接删除掉,没问题
[root@www tmp]# rmdir test1 <==因为尚有内容,所以无法删除!
rmdir: `test1': Directory not empty
[root@www tmp]# rmdir -p test1/test2/test3/test4
[root@www tmp]# ls -l <==底下的输出中test与test1不见了!
drwx--x--x 2 root root 4096 Jul 18 12:54 test2
利用 -p 这个选项,立刻就可以将 test1/test2/test3/test4 一次删除。
-注意:这个 rmdir 仅能删除空的目录,你可以使用 rm 命令来删除非空目录。
- cp(复制文件或目录):cp 即拷贝文件和目录。
-语法:
cp [-adfilprsu] 来源档(source) 目标档(destination)
cp [options] source1 source2 source3 .... directory
-选项与参数:
- -a:相当于 -pdr 的意思,至於 pdr 请参考下列说明;(常用)
- -d:若来源档为连结档的属性(link file),则复制连结档属性而非文件本身;
- -f:为强制(force)的意思,若目标文件已经存在且无法开启,则移除后再尝试一次;
- -i:若目标档(destination)已经存在时,在覆盖时会先询问动作的进行(常用)
- -l:进行硬式连结(hard link)的连结档创建,而非复制文件本身;
- -p:连同文件的属性一起复制过去,而非使用默认属性(备份常用);
- -r:递归持续复制,用於目录的复制行为;(常用)
- -s:复制成为符号连结档 (symbolic link),亦即『捷径』文件;
- -u:若 destination 比 source 旧才升级 destination !
-举例:
> - 用 root 身份,将 root 目录下的 .bashrc 复制到 /tmp 下,并命名为 bashrc
[root@www ~]# cp ~/.bashrc /tmp/bashrc
[root@www ~]# cp -i ~/.bashrc /tmp/bashrc
cp: overwrite `/tmp/bashrc'? n <==n不覆盖,y为覆盖
- rm(移除文件或目录):删除指定的文件或目录(含有内容)
-语法:
rm [-fir] 文件或目录
-选项与参数:
- -f :就是 force 的意思,忽略不存在的文件,不会出现警告信息;
- -i :互动模式,在删除前会询问使用者是否动作
- -r :递归删除!最常用在目录的删除了!这是非常危险的选项!!!
-举例:
> - 将刚刚在 cp 的实例中创建的 bashrc 删除掉!
[root@www tmp]# rm -i bashrc
rm: remove regular file `bashrc'? y
如果加上 -i 的选项就会主动询问,避免你删除到错误的档名!
- mv(移动文件与目录,或修改名称): 对指定的文件或目录进行移动
-语法
mv [-fiu] source destination
mv [options] source1 source2 source3 .... directory
-选项与参数:
- -f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖;
- -i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!
- -u :若目标文件已经存在,且 source 比较新,才会升级 (update)
-举例:
> - 复制一文件,创建一目录,将文件移动到目录中
[root@www ~]# cd /tmp
[root@www tmp]# cp ~/.bashrc bashrc
[root@www tmp]# mkdir mvtest
[root@www tmp]# mv bashrc mvtest
将某个文件移动到某个目录去,就是这样做!
> - 将刚刚的目录名称更名为 mvtest2
[root@www tmp]# mv mvtest mvtest2
2.内容查看的常用命令:
cat 由第一行开始显示文件内容
tac 从最后一行开始显示,可以看出 tac 是 cat 的倒着写!
nl 显示的时候,顺道输出行号!
more 一页一页的显示文件内容
less 与 more 类似,但是比 more 更好的是,他可以往前翻页!
head 只看头几行
tail 只看尾巴几行
你可以使用 man [命令]来查看各个命令的使用文档,如 :man cp。
- cat:由第一行开始显示文件内容
-语法:
cat [-AbEnTv]
-选项与参数:
- -A :相当于 -vET 的整合选项,可列出一些特殊字符而不是空白而已;
- -b :列出行号,仅针对非空白行做行号显示,空白行不标行号!
- -E :将结尾的断行字节 $ 显示出来;
- -n :列印出行号,连同空白行也会有行号,与 -b 的选项不同;
- -T :将 [tab] 按键以 ^I 显示出来;
- -v :列出一些看不出来的特殊字符
-举例:
> - 检看 /etc/issue 这个文件的内容:
[root@www ~]# cat /etc/issue
CentOS release 6.4 (Final)
Kernel \r on an \m
```language
- tac:与cat命令相反,文件内容从最后一行开始显示,可以看出 tac 是 cat 的倒着写。
-举例:
[root@www ~]# tac /etc/issue
Kernel \r on an \m
CentOS release 6.4 (Final)
- nl:显示行号。
-语法:
nl [-bnw] 文件
-选项与参数:
- -b :指定行号指定的方式,主要有两种:
- -b a :表示不论是否为空行,也同样列出行号(类似 cat -n);
- -b t :如果有空行,空的那一行不要列出行号(默认值);
- -n :列出行号表示的方法,主要有三种:
- -n ln :行号在荧幕的最左方显示;
- -n rn :行号在自己栏位的最右方显示,且不加 0 ;
- -n rz :行号在自己栏位的最右方显示,且加 0 ;
- -w :行号栏位的占用的位数。
-举例:
用 nl 列出 /etc/issue 的内容
[root@www ~]# nl /etc/issue
1 CentOS release 6.4 (Final)
2 Kernel \r on an \m
- more:一页一页翻动。
-语法:
more 文件名
-举例:
[root@www ~]# more /etc/man_db.config
Generated automatically from man.conf.in by the
configure script.
man.conf from man-1.6d
....(中间省略)....
--More--(28%) <== 重点在这一行!你的光标也会在这里等待你的命令
** -注意:**在 more 这个程序的运行过程中,你有几个按键可以按的:
- 空白键 (space):代表向下翻一页;
- Enter :代表向下翻『一行』;
- /字串 :代表在这个显示的内容当中,向下搜寻『字串』这个关键字;
- :f :立刻显示出档名以及目前显示的行数;
- q :代表立刻离开 more ,不再显示该文件内容。
- b 或 [ctrl]-b :代表往回翻页,不过这动作只对文件有用,对管线无用。
- less:一页一页翻动。
-语法:
less 文件名
-举例:
> - 输出/etc/man.config文件的内容:
[root@www ~]# less /etc/man.config
Generated automatically from man.conf.in by the
configure script.
man.conf from man-1.6d
....(中间省略)....
: <== 这里可以等待你输入命令!
-注意:less运行时可以输入的命令有:
- 空白键 :向下翻动一页;
- [pagedown]:向下翻动一页;
- [pageup] :向上翻动一页;
- /字串 :向下搜寻『字串』的功能;
- ?字串 :向上搜寻『字串』的功能;
- n :重复前一个搜寻 (与 / 或 ? 有关!)
- N :反向的重复前一个搜寻 (与 / 或 ? 有关!)
- q :离开 less 这个程序;
- head:取出文件前面几行
-语法:
head [-n number] 文件
-选项与参数:
- -n :后面接数字,代表显示几行的意思
-举例:
[root@www ~]# head /etc/man.config
默认的情况中,显示前面 10 行!若要显示前 20 行,就得要这样:
[root@www ~]# head -n 20 /etc/man.config
- tail:取出文件后面几行
-语法:
tail [-n number] 文件
-选项与参数:
- -n :后面接数字,代表显示几行的意思
- -f :表示持续侦测后面所接的档名,要等到按下[ctrl]-c才会结束tail的侦测
-举例:
[root@www ~]# tail /etc/man.config
默认的情况中,显示最后的十行!若要显示最后的 20 行,就得要这样:
[root@www ~]# tail -n 20 /etc/man.config
3.搜索查找类命令:
- find:从指定目录向下递归的遍历其各个子目录,将满足条件的文件或者目录显示在终端。
-语法:
find 目标源 [选项]
-选项与参数:
- -name:按照指定的文件名查找文件
- -user:查找属于指定用户名的所有文件
- -size:按照指定的文件大小查找文件
-举例:
> - 根据名称查找/home目录下的hello.txt文件
find /home -name hello.txt
> - 查找/opt目录下属于root用户的文件
find /opt -user root
> - 查找整个linux系统下大于20M的文件(+n大于、-n小于、n等于)
find / -size +20M
- locate:可以快速定位文件路径,无需遍历整个文件系统,查询速度较快。
-语法:
locate 目标文件
-特别说明:
- locate指令利用事先建立的系统中所有文件名称及路径的locate数据库实现快速定位给定的文件。为了保证查询结果的准确度,管理员必须定期更新locate时刻。由于locate指令基于数据库进行查询,所以第一次运行前,必须使用updatedb指令创建locate数据库。
-举例:
> - 使用locate指令快速定位hello.txt文件所在目录
> locate hello.txt
- grep:过滤查找(在文件内部查找);管道符号"|":将前一个命令的处理结果传递给后面的命令处理。
-语法:
grep [选项] 查找内容 源文件
-选项与参数:
- -n:显示匹配行和行号
- -i:忽略字母及大小
-举例:
> - 在hello.txt中,查找"yes"所在行,并显示行号
> cat hello.txt | grep -n yes
4.文件压缩与解压缩命令
- gzip压缩与gunzip解压缩指令
-语法:
gzip 目标文件 # 将指定文件压缩为*.gz文件
gunzip *.gz文件 # 将*.gz文件解压缩
-举例:
> - 将/home下的hello.txt文件压缩
> gzip /home hello.txt
> - 将/home下的hello.txt.gz文件解压缩
> gunzip /home hello.txt.gz
-特别说明:用gzip指令压缩文件后,源文件会被删除。
- zip压缩与unzip解压缩:项目打包发布时非常有用
-语法:
zip [选项] *.zip 目标文件/目录 # 将指定文件/目录压缩为.zip文件
unzip [选项] *.zip文件 # 将*.zip文件解压缩
-选项与参数:
- -r:递归压缩,即压缩目录 # 针对zip指令
- -d:指定解压后文件所在位置 # 针对unzip指令
-举例:
> - 将/home下的所有文件压缩为home.zip文件
> zip -r home.zip /home/
> - 将home.zip文件解压缩到/opt/tmp目录下
> unzip -d /opt/tmp /home/home.zip
- tar:压缩与解压缩
-语法:
tar [选项] *.tar.gz 目标文件/目录 [-C](可选) # 将文件/目录压缩或者将.tar.gz文件解压
-选项与参数:
- -c:产生.tar打包文件
- -v:显示详细信息
- -f:指定压缩后的文件名
- -z:打包同时压缩
- -x:解包.tar文件
-特别说明:在解压缩文件时,若要指定解压路径,将使用-C参数,用来指定位置。
-举例:
> - 压缩多个文件,将/home/zyhcs/Desktop/test.txt和hello.txt压缩成a.tar.gz文件
> cd /home/zyhcs/Desktop
> tar -zcvf a.tar.gz hello.txt test.txt
> - 将/home的文件夹压缩成myhome.tar.gz文件
> tar -zcvf myhome.tar.gz /home/
> - 将a.tar.gz文件解压到当前目录
> tar -zxvf a.tar.gz
> - 将a.tar.gz文件夹压到/home下
> tar -zxvf a.tar.gz -C /home
-注意:解压文件指定位置时,该目录必须是存在的。
5.其他常用命令:
时间日期
date # 查看系统时间
date "+%Y-%m-%d %H:%M:%S" # 以自定格式查看日期
date -s "2020-08-08 16:13:44" # 设置指定日期时间
cal # 查看当月日历
cal 年份 # 查看指定年份的日历
关机&重启命令
shutdown -h now # 立刻关机
shutdown -h 1 # 1分钟后关机
shutdown -r now # 立刻重启
halt # 作用同shutdown
reboot # 立刻重启
sync # 将内存中的数据同步到磁盘中
用户与管理员切换
- 普通用户->管理员root
su -
## 接着输入root用户密码
- 管理员root->普通用户
su - 用户名
Vi&Vim编辑命令
Vi编辑有3中模式:
- 使用vi或者vim命令打开文件时为正常模式;可以通过方向键控制光标移动,不可编辑
- 在键盘上输入i、I、o、O、s、S时进入插入(insert)模式:此时可以对文件内容进行编辑
- 在插入模式下,键入Esc,进入命令行模式:此时可以输入相应命令,完成相应的操作例如:退出Vim、显示行号等。
Vim中的快捷键:
在命令行模式下:
# 查找指定单词 /(查找内容) 输入n,查找下一个
dd # 删除光标所在行 数字+dd # 删除光标所在行下指定数字行
:w # 保存内容 :wq # 保存并退出 :q # 退出 :q! #强制退出
u # 撤销上一步的操作 :set no # 显示行号
Linux常用命令合集(一)的更多相关文章
- Linux常用命令合集
常用命令合集 命令选项和参数 Linux中的命令格式为:command [options] [arguments] //中括号表示可选的,即有些命令不需要选项也不需要参数,但有的命令在运行时需要多个 ...
- linux常用命令合集(未完)
(1)新建 新建文件夹:mkdir 文件夹名 新建文件:touch 文件路径/文件名 删除: rm –f filename删除文件 rm –rf filename删除文件夹 (2)重命名 1将一个名为 ...
- Linux操作系统常用命令合集——第一篇-文件和目录操作(40个命令)
一.选项和参数的区别 在经过上一次的系统安装后我们已经成功登陆,登陆LInux后,我们就可以在#或$符后面去输入命令,有的时候命令后面还会跟着“选项”(英文名:options)或“参数” ...
- Kafka常用命令合集
在上一篇文章<Linux安装Kafka>中,已经介绍了如何在Linux安装Kafka,以及Kafka的启动/关闭和创建发话题并产生消息和消费消息.这篇文章就介绍介绍Kafka的那些常用的命 ...
- git常用命令合集(持续完善)
git常用命令合集(持续更新,仅为便于查阅) 上传整个项目 git init git add 项目名 git commit -m "提交的注释信息" 若已经绑定远程仓库,则直接:g ...
- Linux操作系统常用命令合集——第六篇-软件包操作(2个命令)
一.前言介绍 软件包即程序包 程序包管理 关键词:rpm程序包管理.YUM仓库管理.源码编译安装 程序包管理: 将编译好的应用程序的各组成文件打包一个或几个程序包文件,从而方便快捷地实现程序包的安装. ...
- Linux操作系统常用命令合集——第五篇-磁盘和文件系统操作(15个命令)
1.fdisk [命令作用] 用于观察硬盘实体使用情况.也可以对硬盘分区. 对于一块硬盘来讲,最多只能管理15个分区 [命令语法] fidisk [选项] [参数] [常用选项] -b& ...
- Linux操作系统常用命令合集——第三篇-系统管理操作(25个命令)
1.whoami [命令作用] 显示当前登录有效用户名称 [命令语法] whoami [选项] [常用选项] 无 [参数说明] 用户名称 [命令示例] 显示当前登录有效用户名称 # whoam ...
- Linux操作系统常用命令合集——第二篇- 用户和组操作(15个命令)
一.前言:本篇介绍用户和组操作的15个命令,在介绍之前我们先来看看几个示例 1.先进入到etc目录下,找到passwd文件,用vi编辑器查看: # vi /etc/passwd 解释:这里面存放着Li ...
随机推荐
- 215。数组中第K个最大元素(堆实现)
class Solution: def findKthLargest(self, nums: List[int], k: int) -> int: """堆排序思想 ...
- spark-1-架构设计&基本流程
Spark运行架构包括: (1)集群资源管理器(Cluster Manager) (2)运行作业任务的工作节点(Worker Node) (3)每个应用的任务控制节点(Driver)和每个工作节点上负 ...
- selenium学习之元素等待(四)
--为什么要设置元素等待: 目前大多数web应用程序都是使用AJAX和JavaScript开发,每次加载一个网页,包括静态网页和动态网页,也就是加载各种HTML标签和JS文件.在网页中进行元素定位时, ...
- MacOS下Terminal获取GPS经纬度坐标
通过命令行直接获取经纬度坐标MacOS 首先下载WhereAmI,最新版本: https://github.com/robmathers/WhereAmI/releases/download/v1.1 ...
- matlab中的qr函数
转自:https://blog.csdn.net/qq278672818/article/details/62038630 实数矩阵A的QR分解是把A分解为 A = QR 这里的Q是正交矩阵(意味着Q ...
- matlab中upper 将字符串转换为大写
参考:https://ww2.mathworks.cn/help/matlab/ref/fprintf.html?searchHighlight=fprintf&s_tid=doc_srcht ...
- 099 01 Android 零基础入门 02 Java面向对象 03 综合案例(学生信息管理) 02 案例分析及实现 03 编写并测试Student类
099 01 Android 零基础入门 02 Java面向对象 03 综合案例(学生信息管理) 02 案例分析及实现 03 编写并测试Student类 本文知识点:编写并测试Subject类 说明: ...
- kalilinux2020.3的安装与一些坑
1.下载镜像文件.iso kali官方下载太慢,用一些魔法也是不行,这里推荐用国内的下载源. 阿里云: https://mirrors.aliyun.com/kali-images/?spm=a2c6 ...
- 深入了解Redis(7)-缓存穿透,雪崩,击穿
redis作为一个内存数据库,在生产环境中使用会遇到许多问题,特别是像电商系统用来存储热点数据,容易出现缓存穿透,雪崩,击穿等问题.所以实际运用中需要做好前期处理工作. 一.缓存雪崩 1.概念 缓存雪 ...
- 福州11911.562(薇)xiaojie:福州哪里有xiaomei
福州哪里有小姐服务大保健[微信:11911.562倩儿小妹[福州叫小姐服务√o服务微信:11911.562倩儿小妹[福州叫小姐服务][十微信:11911.562倩儿小妹][福州叫小姐包夜服务][十微信 ...