目录操作命令
ls命令
用途:
用来对文件进行操作
英文原意:list
命令格式:
[root@localhost ~]#ls [选项][文件名或目录名]
选项:
-a:显示所有文件
-A:列出除.及..的其他文件
-d:显示目录信息,而不是目录下的文件//ls -ld [目录] 显示目录本身详细信息
-l:长格式显示 //ls -l [目录]显示目录下的内容
//ls -l+(h=按照习惯单位显示文件大小(k))
-t:以文件的大小排序
-S:以文件的大小排序
-i:显示文件的i节点号
-h:以易读的方式显示
cd命令
英文原意:change directory
用途:
对目录的切换
命令格式:
[root@localhost ~]#cd [目录名]
常见用法:
cd+回车:进入家目录
cd ~:进入家目录
cd /+要进入的目录
cd -:进入上一次工作路径
cd .. :入上级目录
cd . :进入当前目录
pwd:查看当前所在目录,可以看到路径
cd的相对路径和绝对路径的使用:
cd /usr/local/src 绝对路径的使用
cd /usr进入第一层目录以后
相对路径的进入是指进入当前目录下的文件
命令: xxx/ 注意反斜杠的位置在后面
mkdir命令
英文原意:make directories
用途:
创建空目录
命令格式:
[root@localhost ~]#mkdir [选项] 目录名
-p:递归建立所需目录
常见用法:
mkdir 文件名:创建文件且创建到当前目录
mkdir -p lm/movie/jp/cangls :递归创建一系列文件
rmdir命令
英文原意:remove empty directories
用途:
删除空目录
命令格式:
[root@localhost ~]# rmdir [选项] 目录名
-p:递归删除目录
常见用法:
rmdir 文件名:删除该文件
rmdir -p lm/movie/jp/cangls :递归删除一系列文件
rmidr命令比较笨一般不使用,不论删除的文件还是目录以后都会使用rm命令
tree命令
英文原意:list contents of directories in a tree-like format
用途:
显示目录树
命令格式:
[root@localhost ~]#tree
tree /etc/:显示etc文件的目录树
文件操作命令
touch命令
英文原意:change file timestamps
用途:
文件不存在创建文件,文件存在修改
文件的时间(访问时间,数据修改时间,状态修改时间)
命令格式:
[root@localhost ~]#touch [选项] 文件名或目录名
常见用法:
touch -a xx:只修改文件的访问时间(Access Time)
touch -c xx:如果文件不存在则建立新文件
touch -d xx:把文件的时间改为制定的时间
touch -m xx:只修改文件的数据修改时间
注意:
1.在Linux中文件没有创建时间
2.可以通过stat命令查看文件的时间
3.在Linux中氛围访问时间,数据修改时间,状态修改时间
stat命令
英文原意:display file or file system status
用途:
查看文件详细信息的命令,而且可以看到文件的三个时间
命令格式:
[root@localhost ~]#stat [选项] 文件名或目录名
常见用法:
-f :查看文件所在的文件系统信息,而不是查看文件的信息
echo 内容 > 文件名:向某个文件输入xxx内容(修改了时间的变化)
chown nobody 文件名:只修文件的状态时间
cat命令
英文原意:concatenate files and print on the standard output
用途:
合并文件并打印输出到标准输出
命令格式:
[root@localhost ~]#cat [选项] 文件名
选项:
-A:相当于-vET选项的整合,用于列出所有隐藏符号
-E:列出每行结尾的回车符¥
-n:显示行号
-T:把Tab键用^I显示出来
-v:列出特殊字符
more命令
英文原意:file perusal filter for crt viewin
用途:
当文件过大使用cat不能满足需要是,more是分屏显示文件的命令
命令格式:
[root@localhost ~]#more 文件名
常用的交互命令:
空格键:向下翻页
b:向上翻页
回车键:向下滚动一行
/字符串:搜索指定字符串
q:退出
less命令
英文原意:opposite of more
用途:
more为分屏显示,less是分行显示命令
q退出,上下移动
head命令
英文原意:output the first part of files
用途:
显示文件开头的命令,默认显示文件的开头10行内容
命令格式:
[root@localhost ~]#head [选项] 文件名
选项:
-n 行数:从文件头开始,显示指定行数
-v :显示文件名
常见用法:
head -n xx 文件名:显示xx行内容,默认10行
也可以直接 head -xx 文件名:-行数即可省略-n
tail命令
英文原意:output the last part of files
用途:
显示文件结尾的内容
命令格式:
[root@localhost ~]#tial [选项] 文件名
选项:
-n 行数:从文件结尾开始,显示指定行数
-f :监听文件的新增内容
常见用法:
tail -n 20 xxx
tail -f xxx:会监视文件的更新且光标不会跳出
ln命令
英文原意:make links between file
用途:
在文件之间建立链接
命令格式:
[root@localhost ~]#ln [选项] 源文件 目标文件
选项:
-s:建立软链接文件。如果不加"-s"则建立硬链接文件
-f:强制。如果目标文件已经存在,则删除目标文件后再建立链接文件
注意:
1.软链接的源文件必须写成绝对路径
目录和文件都能操作的命令
rm命令
英文原意:remove files or directories
用途:
删除文件或者删除目录
命令格式:
[root@localhost ~]#rm [选项] 文件或目录
选项:
-f: 强制删除((force)
-i:交互删除,在删除之前会询问用户
-r: 递归删除,可以删除目录(recursive)
默认 -i 文件名
常见用法:
rm -r 目录名:递归删除时候会分别进入各个目录然后询问是否删除
rm -rf 目录名: 强制删除
cp命令
英文原意:copy files and directories
用途:
复制文件和目录
命令格式:
[root@localhost ~]#cp [选项] 源文件 目标文件
选项:
-a:相当于-dpr选项的集合,这几个选项我们一一介绍
-d:如果源文件为软链接(对硬链接无效)。则复制出的目标文件也为软链接
-i:询问,如果目标文件已经存在,则会询问是否覆盖
-l:把目标文件建立为源文件的硬链接文件,而不是复制源文件
-s:把目标文件建立为源文件的链接文件,而不是复制源文件
-p:复制后目标文件保留源文件的属性(包括所有者、所属组、权限和实践)
-r:递归复制,用于复制目录
常见用法:
cp -i cangls /tmp/bols :文件的改名复制(bols是改名复制)
cp -r good /tmp/xx :目录的同名复制(xx为改名复制)
cp -d /tmp/links_good /tmp/links_goods :软链接复制(对硬链接无效)
cp -p /tmp/good /tmp/goods :保留源文件的属性(不会修改时间等源文件属性)
mv命令
英文原意:move(rename) files
用途:
用来移动或改名(剪切)
命令格式:
[root@localhost ~]#mv [选项 源文件 目标文件
选项:
-f:强制覆盖,如果目标文件已经存在,则不询问,强制覆盖
-i:交互移动,如果目标文件已经存在,则询问用户是否覆盖(默认选项)
-n:如果目标文件已经存在,则不会覆盖移动,而且不询问用户
-v:显示详细信息
常见用法:
mv good /tmp:移动文件或目录
mkdir movie
mv movie/ /tmp:将movie目录移到/tmp下(不需要像cp一样加入-r选项)
mv -vn bols cangls lmls /tmp :将前三个文件移动到tmp目录下 /v用于显示详细过程
mv xxx yyy:把xxx改名为yyy
基本权限命令
chmod命令
英文原意:change file mode bits
用途:
用来修改文件的权限模式
命令格式:
[root@localhost ~]#chmod [选项] 权限模式 文件名
选项:
-R:递归设置权限,也就是给子目录中的所有文件设定权限
常见用法:
chmod x+y 文件名:给文件中x用户添加y权限
chmod x+y,x2+y2 文件名:给多个用户同时添加权限
chmod x-y,x2-y2文件名:给x用户减去某权限
chmod x=rwx,y=rw1,z=rwx:给x,y,z用户设置设置rwx其中的权限(rwx这里写在一起为了方便)
数字权限:
4:代表“r”权限
2:代表“w”权限
1:代表“x”权限
chmod 755 文件名:给文件赋予755权限
解释:
第一个数字“7”代表给所有者的权限是“4+2+1”,也就是读、写、执行权限
第二个数字“5”代表给所属组的权限是“4+1”,也就是读、执行权限
第三个数字"5"代表给其他人的权限是同上
所有者和所属组命令
chown命令
英文原意:change file owner and group
用途:
修改文件和目录的所有者所属组的命令
命令格式:
[root@localhost ~]#chown [选项] 所有者:所属组 文件或目录
选项:
-R:递归设置权限,也就是给子目录中的所有文件设置权限
常见用法:
chown user 文件名:将文件的"所有者"设置为user,这时user对这个文件具有了读、写权限
chown user:user good:“:”前是所有者后是所属组,也可以用"."来代替
chgrp命令
英文原意:change group ownership
用途:
修改文件和目录的所属组
命令格式:
[root@localhost ~]# chgrp 用户组 文件名
chgrp user test:将文件test的所属组设置为user用户组
umask命令
umask命令
用途:
查看默认权限
命令格式:
[root@localhost ~]#umask xx
[root@localhost ~]#umask :直接使用是用八进制数显示umask权限
[root@localhost ~]#unmask -S:用字母表示文件和目录的初始权限
帮助命令
man命令
英文原意:format and display the on-line manual pages
用途:
显示联机帮助手册
命令格式:
[root@localhost ~]#man [选项] 命令
选项:
-f:查看命令拥有哪个级别的帮助
-k:查看和命令相关的所有帮助
常见用法:
man 命令名称:查看命令的帮助
man -f 命令:查看命令的帮助级别
man -k useradd:会列出所有包含useradd字符串的命令(字符串还可以改成别的)
whatis命令和 man -f是一致的
apropos命令和man -k是一致的
whoami 查看当前用户
whereis xx 、whatis xx命令在哪里、命令是干什么的
快捷键:
命令帮助级别:
info命令
info命令的帮助信息是一套完整的资料,每个单独命令的帮助信息只是这套完整资料中的某一个章节
info xxx
快捷键:
help命令:
help命令只能获取shell内置命令的帮助,但是在Linux中绝大多数命令是外部命令,所以help命令的作用非常有限
而且内置命令可以使用man命令获取帮助
--help选项
绝大多数命令都可以使用"--help"选项来查看帮助
列如:ls --help
搜索命令
whereis命令
英文原意:locate the binary source,and manual page files for a command
用途:
不能搜索普通文件,只能(搜索系统命令)
查找二进制命令、源文件和帮助文档的命令
命令格式:
[root@localhost ~]#where [选项] 命令
选项:
-b:只查找二进制命令
-m:只查找帮助文档
常见用法:
whereis ls:即可看到二进制命令的位置,也可以看到帮助文档的位置,但是无法查看普通文件
whereis -b ls:只查看二进制命令的位置
whereis -m ls:只查看帮助文档的位置
which命令
英文原意:shows the full path of(shell) commands
用途:
列出命令的所在路径和命令的别名(搜索系统命令的命令)
命令格式:
[root@localhost ~]#which xx
locate命令
英文原意:find files by name
用途:
按照文件名来搜索文件
命令格式:
[root@localhost ~]#locate [选项] 文件名
选项:
-i:忽略大小写
常见用法:
locate install.log:搜索文件名叫install.log的文件
locate mkdir:由于系统命令其实也是文件,所以也可以按照文件名来搜索系统命令
注意:
1.locate命令不会直接搜索硬盘空间,而是搜索locate数据库,每当用户退出登录或重启系统是locate数据库才会更新,所以我们无法查找到新建立文件
2.如果不想退出登录或重启系统,则可以通过updatedb命令手工更新这个数据
3.loate的配置文件中会设置不搜索的区域比如说:文件系统类型、(.git .hg .svn)扩展名、系统目录
find命令
英文原意:search for files in a drectory hierarchy
用途:
按照设置的"关键"来按照关键搜索文件
命令格式:
[root@localhost ~]#find 搜索路径 [选项] 搜索内容
选项:
-name:按照文件名搜索
-iname:按照文件名搜索,不区分文件名大小写
-inum:按照inode号搜索
-size [+-]大小:按照指定大小搜索文件
常见用法:
find / -name yum.cnf:在/目录下搜索文件名是yum.conf的文件(文件名必须完全匹配)
find . -iname cangls:大小写都搜索出来(即不区分文件名的大小写)
find . -inum 262147:如果知道inode号,则可以用find命令来查找文件名(按照inode号搜索文件,也是区分硬链接文件的重要手段,因为硬链接文件的inode号是一致的)
find . -size 25k :在当前目录下查找大小刚好是25KB的文件
find . -size -25k:在当前目录下查找小于25k的文件
find . -size 1M:主要按M查询字母要大写
find . -size 1207c:按1207字节来搜索需要加字母c
按照修改时间搜索:
选项:
-atime [+-]时间:按照文件访问时间搜索
-mtime [+-]时间:按照文件数据修改时间搜索
-ctime [+-]时间:按照文件状态修改时间搜索
[+-]时间的含义:
-5:代表5天内修改的文件
5:代表前5-6天那一天修改的文件
+5:代表6天前修改的时间
当然也有按分钟查询的:amin、mmin、cmin
按照权限搜索:
选项:
-perm 权限模式:查找文件权限刚好等于“权限模式”的文件
-perm -权限模式:查找文件权限全部包含“权限模式”的文件
-perm +权限模式:查找文件权限包含”权限模式“的任意一个权限的文件
按照所有者和所属组搜索
选项:
-uid 用户ID:按照用户ID查找所有者是指定ID的文件
-gid 组ID:按照用户组ID查找所属组是制定ID的文件
—user 用户名:按照用户名查找所有者是指定用户的文件
-group 组名:按照组名查找所属组是制定用户组的文件
-nouser:查找没有所有者的文件
按照文件类型搜索
选项:
-type d:查找目录
-type f:查找普通文件
-type l:查找软链接文件
逻辑运算符
选项:
-a:and逻辑与
-o:or逻辑或
-not:not逻辑非
find . -size +2k -a -type f:在当前目录下搜索大于2kb并且文件类型是普通文件的文件
find . -not -name cangls:在当前目录下搜索文件名不是cangls的文件
注意-not的位置
其他选项:
-exec:
[root@localhost ~]#find 搜索路径 [选项] 搜索内容 -exec 命令2 {} \\;
"{}"和"\\;"是标注格式,-exec调用命令2来处理find命令的结果"{}"这个就是find命令的查找结果
find . -perm 444 -exec ls -l {} \\;:使用-exec选项把find命令结果交给"ls -l"命令处理
-ok:
基本与-exec相同,但是-ok会进行询问用户是否这样处理,而-exec不会询问而是直接处理
压缩和解压命令
.
zip格式的压缩命令
英文原意:package and compress(archive) files
用途:
压缩文件或目录
命令格式:
[root@localhost ~]#zip [选项] 压缩包名 源文件或源目录
选项:
-r:压缩目录
常用格式:
zip test.zip xxx1 xxx2:同时压缩多个文件到test.zip中
zip -r test.zip xxx1:压缩目录
zip解压:
英文原意:list,test and extract compressed files in a ZIP archive
用途:
列表、测试、和提取压缩文件中的文件
命令格式:
[root@localhost ~]#unzip [选项] 压缩包名
选项:
-d:指定解压的位置
unzip -d /tmp/ test.zip:把zip解压到指定目录
.gz格式压缩命令
英文原意:compress or expand files
用途:
压缩文件或目录
命令格式:
[root@localhost ~]#gzip [选项] 源文件
选项:
-c:将压缩数据输出到标准输出中,可以用于保留源文件
-d:解压缩
-r:压缩目录
-v:显示压缩文件的信息
-数字:用于指定压缩等级,-1压缩等级最低,压缩比最差;-9压缩比最高。默认压缩比是-6
常见用法:
gzip -r test/:注意这个压缩目录是把目录下的文件分别压缩
gzip -d xxx:解压缩
zcat xxx:查看“.gz”格式压缩的文本文件
"gunzip压缩包"命令
英文原意:compress or expand files
用途:
解压文件或目录
命令格式:
[root@localhost ~]#gunzip [选项] 名字
选项:
-r:解压缩目录下的内容注意不是解“打包”
.bz2格式压缩命令
英文原意:a block-sorting files compressor
用途:
.bz2格式的压缩命令,不支持目录压缩
命令格式:
[root@localhost ~]#bzip2 [选项] 源文件
选项:
-d:解压缩
-k:压缩式,保留源文件
-v:显示压缩的详细信息
-数字:同hzip
bzcat xxx:查看格式压缩的文本文件
[root@localhost ~]#bzip2 -d xx:解压缩
解压缩:
命令格式:
[root@localhost ~]#bunzip2 [选项] 源文件
选项:
-k:解压缩时,保留源文件
.tar格式的打包命令
英文原意:tar
用途:
打包与解打包命令
命令格式:
[root@localhost ~]#tar [选项] [-f 压缩包名] 源文件或目录
选项:
-c:打包
-f:指定压缩包的文件名。压缩包的扩展名是用来给管理员识别格式的,所以一定要正确指定扩展名
-v:显示打包文件的过程
解打包:
-x:解打包
-t:测试,就是不解打包,知识查看包中有哪些文件
-C 目录:指定解打包位置
常见用法:
tar -cvf xxx.tar xxx:-cvf一般是习惯用法
tar -cvf ana.tar anaconda-ks.cfg /tmp :把anaconda-ks.cfg文件和/tmp目录打包成ana.tar(多文件同时打包)
解打包:
tar -xvf anaconda-ks.cfg.tar 解打包到当前目录下
tar -xvf anaconda-ks.cfg.tar -C /tmp:指定解打包目录,把压缩包解打包到/tmp目录下
tar -tvf test.tar 查看文件包中有哪些文件
.tar.gz和.tar.bz2格式命令
命令格式:
[root@localhost ~]#tar [选项] 压缩包 源文件或目录
选项:
-z:压缩和解压缩“.tar.gz”格式
-j:压缩和解压缩“.tar.bz2”格式
常见用法:
tar -zcvf tmp.tar.gz /tmp:把/tmp目录直接打包压缩为.tar.gz格式
tar -zcvf tmp.tar.gz:解压缩.tar.gz格式
同理z换成j即可符合.tar.bz2格式
关机和重启命令
sync数据同步
英文原意:flush file system buffers
用途:
把内存中的数据强制向硬盘中保存
刷新文件系统缓冲区
命令格式:
[root@localhost ~]#sync :最好多执行几次保险起见
shutdown命令
英文原意:bring the system down
用途:
关机和重启
命令格式:
[root@localhost ~]#shutdown [选项] 时间 [警告信息]
选项:
-c:取消已经执行的shutdown命令
-h:关机
-r:重启
常见用法:
shutdown -r now:即刻重启
shutdown -r 05:30 制定时间重启,但会占用前台终端
shutdown -r 05:30 &:把定时重启命令放入后台,&是后台的意思
shutdown -c:取消定时重启
shutdown -r +10:十分钟后重启
shutdown -h now:现在关机
shutdown -h 05:30:指定时间关机
shutdown -h +10:十分钟后关机
reboot命令
命令格式:
[root@localhost ~]#reboot:进行重启
halt和poweroff命令
用途:
都是关机命令
命令格式:
[root@localhost ~]#halt
[root@localhost ~]#poweroff
init命令
用途:
修改Linux运行级别的命令,也可以用于重启和关机
[root@localhost ~]#init 0:关机,也就是调用系统的0级别
[root@localhost ~]#init 6:重启,也就是调用系统的6级别