大家好,我是一名职场小白。生活和工作中喜欢写文章,记录学习的过程。因为找了份运维的工作,所以要学习各种shell命令,慢慢的就总结了一点最常用的命令更新上去,方便以后查看。也欢迎大家进行指正和交流。如有错误欢迎大家给我留言指出。[联系我]
1.创建文件夹及文件:
1.1创建文件夹
语法:
mkdir [参数] [路径]
例如:mkdir zyk 创建文件夹zyk
参数:
-m(–mode)<目录属性> 建立目录时设置目录的权限。
-p(–parents) 若所要建立目录的上层目录目前尚未建立,则会一并建立上层目录。
1.2创建文件
语法:
touch [-acfm][-d <日期时间>][-r <参考文件或目 录>][-t <日期时间>][--version] [文件或目录]
例如:touch a.txt 创建文本a.txt
参数:
-a或–time=atime或–time=access或–time=use 只更改存取时间。
-c或–no-create 不建立任何文件。
-d<时间日期> 使用指定的日期时间,而非现在的时间。
-m或–time=mtime或–time=modify 只更改变动时间。
-r<参考文件或目录> 把指定文件或目录的日期时间,统统设成和参考文件或目录的日期时间相同。
-t<日期时间> 使用指定的日期时间,而非现在的时间。
2.复制文件夹以及文件 cp
语法:
cp [参数] 源文件或目录 目的文件或目录
例如:cp zhao.txt /zhao/zyk
参数:
-b 同名备份原来的文件
-f 强制覆盖同名文件
-r 按递归方式保留原目录结构复制文件
3.移动文件夹以及文件 mv
语法:
mv [options] 源文件或目录 目标文件或目录
(1)将usr/udt中所有文件移到当前目录(用.表示):
例如:mv /usr/udt/* .
(2)将test.txt命名为abc.txt:
例如:mv test.txt abc.txt
(3)移动当前文件夹到上级目录
mv * ../
注意:移动文件夹的话就不要再加/了,如果是移动文件夹下的所有文件的话就可以文件夹后面跟上 /*
4.删除文件夹以及文件 rm
语法:rm [-dfirv] [--help] [--version] [文件或目录]
禁止执行 rm -r /*
说明:执行rm指令可删除文件或目录,如欲删除目录必须加上参数-r 否则只会删除文件。
参数:
-d(-directory) 直接删除目录
-f(-force) 强制删除文件和目录
-i(-interactive) 删除有文件或目录之前先询问用户
-r(-recursive) 递归处理,将指定目录下的所有文件及目录一并处理
-v(-verbose) 显示执行执行过程
5.重命名 mv
格式:mv [options] 源文件或目录 目标文件或目录。
主要参数[options]
-i:交互方式操作。如果mv操作将导致对已存在的目标文件的覆盖,此时系统询问是否重写避免误覆盖文件。
-f:禁止交互操作。mv操作要覆盖某个已有的目标文件时不给任何指示,指定此参数后i参数将不再起作用。
选择参数:
当选择参数类型是文件时,mv命令完成文件重命名,它将所给的源文件或目录重命名为给定的目标文件名。
实例:
将文件test.txt重命名为wbk.txt:
6.解压缩 unzip tar -xvzf
.zip
解压:unzip fileName.zip
压缩:zip fileName.zip dirName
.tar
解压:tar xvf fileName.tar
压缩:tar cvf fileName.tar fileName
.tar.gz
解压:tar zxvf fileName.tar.gz
压缩:tar zcvf fileName.tar.gz dirName
.rar
解压:rar a fileName.rar
压缩:rar e fileName.rar
tar是打包命令,比较常用,不同参数的含义:
-c: 建立压缩档案
-x:解压
-t:查看内容
-r:向压缩归档文件末尾追加文件
-u:更新原压缩包中的文件
7.查看编辑文本文件 vi/vim
(1).命令模式(Command mode)
i 切换到输入模式,以输入字符。
x 删除当前光标所在处的字符。
: 切换到底线命令模式,以在最底一行输入命令。
(2).输入模式(Insert mode)
命令模式下按i进入输入模式
ESC,退出输入模式,切换到命令模式
(3).底线命令模式(Last line mode)
--在命令模式下按下:(英文冒号)就进入了底线命令模式。
--基本的命令有(已经省略了冒号):
q 退出程序
w 保存文件
--按ESC键可随时退出底线命令模式。
8.目录切换 cd
(1)cd [dirName] 表示要进行切换的目标目录
(2)cd/ 切换到根目录
(3)cd.. 切换到上层目录
(4)cd /root/linux/java 切换到绝对路径
9.列出目录下文件(夹)及目录信息 ls
语法:
ls [选项] [参数]
参数:(常用)
* -a: 显示所有档案以及目录(ls内定将档案或目录名称为“./..”的视为隐藏)
-A: 显示除隐藏文件“./..”以外的所有文件列表
* -d : 仅显示目录名,而不显示目录下的内容列表, 显示符号链接文件本身, 而不显示其指定的目录列表。
* -l : 以长格式显示目录下的内容列表,输出信息:文件名,文件类型,权限模式,硬链接数,所有者,组,文件大小, 文件最后修改时间。
-m: 以逗号分隔每个文件和目录的名称
* -r : 以文件名反序排序并输出目录内容列表
* -s : 显示文件和目录的大小, 以区块为单位
* -t : 用文件和目录的更改时间排序
10.以管理员身份执行 sudo
(1).sudo su
(2).sudo ls
11.执行sh命令或文件 sh
sh shutdown.sh(这个文件里的就是shell命令)
12.直接下载链接 wget
wget 网址
13.显示日期时间 date
1.显示日期:data
(1).显示带格式的日期:data +%Y/%M/%d
(2).显示带格式的时间:data+%H/%M/%S
2.显示日历:cal
(1).查看2019年日历:cal 2019
14.几个最重要的热键 [Tab] 、[Ctrl]+c 、[Ctrl]+d
1.[Tab] : 具有命令补全功能;
2.[Ctrl]+c : 可以使当前程序停掉;
3.[Ctrl]+d : 代表键盘输入结束的意思,也可用来取代exit。
15.最常用的关机命令 shutdown ,重启 reboot
语法:
shutdown [-t秒] [arkhncfF] 时间 [警告讯息]
参数:
-t sec : -t后面加秒数即表示 过几秒关机。
-r :在将系统的服务停掉之后重新启动(*)。
-h :将系统的服务停掉之后立即关机(*)。
-n :不经过init程序,直接以shutdown的功能进行关机。
-f :系统重新启动之后强制略过fsck磁盘的检查。
-F :系统重新启动之后强制进行fsck磁盘的检查。
-c :取消已经在进行的shutdown内容。
-k :不是真的关机,只是发出警告信息出去。
- 记得一定要加时间参数
- 另外关机还有命令:poweroff
16.切换执行等级 init
常用:
1.run level 0 :关机
2.run level 3 :纯文本模式
3.run level 5 :含有图形接口模式
4.run level 6 :重新启动
17.查看版本信息 uname -r
uname -r
18.最基本的一个命令 man
- 该命令是了解其他命令时使用的命令;
- 任何时候对命令不确定时可以使用man +命令 来了解这个命令是做什么的。
- 例如:man ls 了解 ls 命令的用法。
19.改变文件的所属群组 chgrp
语法:
chgrp [-R] dirname/filename
参数:
-R:进行递归的持续变更,连同目录下所有文件和目录一起改变。
20.改变文件拥有者 chown
语法:
chown [-R] 账号名称或文件或目录
参数:
-R:进行递归的持续变更,连同目录下所有文件和目录一起改变。
21.改变文件的权限 chmod
语法:
chmod [-R] xyz 文件或目录
参数:
xyz:数字类型的参数访问,为rwx属性值相加;
-R:进行递归的持续变更,连同目录下所有文件和目录一起改变。
- 每一个文件或目录权限都有3种:r(读),w(写),x(执行)