命令名 [选项] [参数]
在linux的命令均区分大小写
Tab补全功能也是linux特别的功能之一
Ctrl+C可中断正在执行的命令
在一行内输入多行命令需要使用;号间隔
目录名称 | 功能说明 |
---|---|
/ | linux文件系统的最上层根目录,其他所有目录都为该目录子目录 |
/bin | Binary的缩写,存放着普通用户可执行的程序或者命令 |
/boot | 存放系统启动时所需要的文件,一般不要改动 |
/dev | 存放着代表硬件设备的特殊文件 |
/etc | 存放系统管理和配置文件 |
/home | 普通用户存储个人数据和配置文件的家目录 |
/lib | 存放系统本身需要的32位程序的共享函数库 |
/sbin | 存放的是系统管理员可执行的程序或者命令 |
/root | 根用户root的家目录 |
/var | Variable的缩写,存放日志,邮件等经常变化的文件 |
/tmp | 供临时文件的使用的全局可写空间 |
bash 以根目录为起点,例:/proc/local/bin
bash 以当前目录为起点,例:./local/bin
[root@dyzx~]# pwd
/root //当前目录是/root
[root@dyzx~]# cd /usr/local/lib //改变目录到/usr/local/lib目录下
[root@dyzx lib]# cd .. //返回上一层目录
[root@dyzx local]# cd ../etc //进入当前目录的父目录下的etc子目录
[root@dyzx~ etc]# cd ~ //进入root用户登录时的工作目录
[root@dyzx~]# cd 桌面 //进入当前目录下的“桌面”子目录
[root@dyzx 桌面]# cd //进入当前用户的家目录
ls [选项] [目录1|文件1] [目录2|文件2] …
-a——显示所有子目录和文件的信息 ,包括隐藏文件
-A——与-a选项的作用类型,但不显示隐藏文件
-c——按文件的修改时间排序后,予以显示
-d——显示指定目录本身的信息,而不显示目录的各个文件和子目录的信息
-h——以K,M,G为单位显示目录或文件的大小
-l ——以长格式显示文件和目录的详细信息
-R——以递归的方式显示指定目录及其子目录的所有内容
[root@dyzx~]# ls //列出当前目录下的文件及子目录
[root@dyzx~]# ls -hl //以K,M,G为单位显示目录或文件的大小
mkdir [选项] 目录1 [目录2] …
-p——在创建目录时,如果父目录不存在,则连父目录一起创建
[root@dyzx~]# mkdir -p dir2/bak //创建dir2目录和bak目录
du [选项] [目录1] [目录2] …
-a——显示对涉及的所有文件的统计,而不只是包含子目录
-s——对每个指定目录只显示总和,而不显示各子目录的大小
-h——以K,M,G为单位显示目录或文件的大小
[root@dyzx~]# du -sh /boot //统计/boot目录中所有文件占用空间量
123M /boot
touch [选项] 文件或目录列表
-d yyyymmdd——把文件的存取或修改时间改为yyyy年mm月dd日
-a——只把文件的存取时间改为当前时间
-m——只把文件的修改时间改为当前时间
[root@dyzx~]# touch f1 f2 f3 //在当前目录下建立三个空文件
[root@dyzx~]# touch -d 20180604 f1 //文件的存取或修改时间修改为20180604
cp [选项 ] 源文件或目录 目录文件或目录
-f——覆盖目标同名文件或目录时不进行提醒
-i——覆盖目标同名文件或目录时进行提醒
-p——复制的目标文件或目录,保持与源文件或目录相同的权限,属主等属性
-r——复制目录时必须使用该选项,以实现将原目录下的文件和子目录一并复制
-u——只有当源文件的创建日期晚于目标文件时才会覆盖
[root@dyzx~]# cp /etc/hosts ~/f1 //将/etc/hosts文件复制到用户家目录下,并改名为f1
[root@dyzx~]# cp -r /etc/java/ dir2/bak //将/etc/java目录复制到当前目录的dir2/bak目录下
mv [选项] 源文件或目录 目标文件或目录
-b——移动后的源文件或目录不删除,效果相当于复制
[root@dyzx~]# mv f1 dir1 //将当前目录下的f1文件移动到当前目录下的dir1子目录下
[root@dyzx~]# mv f2 f2.txt //将当前目录下的f2文件更名为f2.txt
rm [选项] 文件1或目录1 [文件2或目录2] …
-f——删除文件或目录时不进行提醒直接删除
-i——用于交互式删除文件或目录,在删除的时候需要用户确认
-r——用于删除目录
[root@dyzx~]# rm -ir dir2/bak //删除当前目录的dir2/bak目录
rm:是否进入目录“dir2/bak”? y
rm:是否进入目录“dir2/nak/java”? y
..........
ln [选项] 源文件或目录 [目标链接文件或目录]
-s——建立符号链接(软链接),不加该选项为硬链接
-f——若建立的目标文件或目录已存在,则强行删除后建立
-i——若建立的目标文件或目录已存在,则以交互性方式提示用户是否覆盖
软连接 | 硬链接 |
---|---|
使用带选项-s的ln命令 | 不使用带选项-s的ln命令 |
可跨越不同的文件系统、分区和挂载设备创建 | 只能在与源文件相同的 文件系统、分区和挂载设备创建 |
针对文件和目录均可建立软链接 | 只能针对文件创建硬链接,不能针对目录 |
删除源文件或目录后,软链接文件或目录无效 | 删除源文件或目录后,软链接文件或目录无效 |
[root@dyzx~]# echo 'this a file'>f3
[root@dyzx~]# ln f3 /tmp/test1 //在/tmp目录下创建f3的硬链接文件test1
[root@dyzx~]# ln -s f3 /tmp/test2 //在/tmp目录下创建f3的软链接文件test2
find [查找路径] [查找条件表达式]
-name 文件名——查找指定名称的文件
-user 用户名——查找属于指定用户的文件或目录
-group 组名——查找属于指定组的文件
-type 文件类型符——查找指定类型的文件
-size [+|-]n[K|M|G]——根据文件大小查找文件
-prem 权限值——根据文件的权限查找文件
-exec 命令 { } \——对满足匹配条件的文件执行指定的命令
[root@dyzx~]# find /etc -name "*.conf" //在/etc目录下查找文件名以".conf结尾的文件"
[root@dyzx~]# find /type d -a -name bin //在/的目录下查找名称为bin的所有目录
[root@dyzx~]# find / user root -a -group mail //查找有root和mail组拥有的文件
cat [选项] 文件名列表
-n——对输出内容中所有行标注行号
-b——对输出内容中非空行标注行号
[root@dyzx~]# cat /etc/os-release //查号此文档的内容
grep [选项] 要查找的字符串或条件表达式 被查找的文件名
-i——查找内容时不分大小写
-v——反转查找,即输出与查找条件不相符的行
[root@dyzx~]# grep ftp /etc/passwd //在文件passwd中查找包括“ftp”的行
[root@dyzx~]# grep "user1 $" /etc/passwd //在文件中查找只含“user1”的行
tar [选项] [被打包的文件或目录列表]
c——创建一个包文件
v——显示打包或解包的过程
f 包文件名——指定被打包或被解包的包文件名
p——打包时保留文件或目录的权限
z——以gzip格式压缩或解压缩文件,是使用最广泛的压缩方式
j——以bzip2格式压缩或解压缩文件
J——以xz格式压缩或解压缩文件
t——列出包文件的内容清单
x——释放包文件
-C 目标文件夹——将包文件的内容释放到指定的目标文件夹中
tar cvf 包文件名 被打包的文件或目录名列表
[root@dyzx~]# touch f1 f2 f3
[root@dyzx~]# tar cf my_file.tar f1 f2 f3 //将f1 f2 f3打包为my_file.tar包文件
[root@dyzx~]# tar cvdf /root/my_etc.tar /etc //创建/etc目录的包文件并显示打包过程
tar [z|j|J]cf 包文件名 被打包的文件或目录名列表
[root@dyzx~]# tar czf /root/my_etc.tar.gz /etc
[root@dyzx~]# ls -lh /root/my_etc* .*
tar t[v]f 包文件名
[root@dyzx~]# tar tf /root/my_file.tar
f1
f2
f3
tar x[z|j|J][v]f 包文件名 [-C 目标文件夹]
[root@dyzx~]# tar xf /root/my_etc.tar.gz -C /tmp/etc/bakup //前者释放到后者
[root@dyzx~]# echo 'this is web'
[root@dyzx~]# echo 'this is web' >f1 //将字符写入f1