Linux常用命令:
练习3遍以上
一、命令基本格式
1.命令格式:
[root(管理员)@localhost(主机名)~]#(超级用户提示符,普通用户提示符是$) adminis
/root一级目录用pwd print working directory(打印工作目录)查看
/home/user1/二级目录
[[email protected] ~]# cd /usr/local/src/ 切换当前目录
[[email protected] src]#
命令[选项] [参数] 中括号表示可选
注意:个别命令使用时不遵循此歌诗,当有多个选项时,可以写在一起简化选项和完整选项
-a 等于--all
2.查询目录中内容:ls [选项] [文件或目录]
选项:
-a all,显示所有文件,包括隐藏文件,隐藏文件以点"."开头,.bashrc,隐藏是防止误操作
-l 显示详细信息 longlist长显示
-d 查看目录属性direct
-h 人性化显示文件大小human
-i 显示inode 即i节点
权限:默认10位 - rw- r-- r--
-文件类型(最主要的三种:-文件 d目录 |软链接文件)
另外四种文件类型:块设备文件,字符设备文件,套接字文件和管道pipe文件
rw- r-- r--
user所有者 g所属组 o其他人
-rw-r--r--. l root root 1207 1月 14 18:18 anaconda-ks.cfg
解释:
-rw-r--r--:权限分布
.:点.可能代表ACL权限
l:引用次数 ,被调用计数
1207:字符大小,一般是字节 # ls -lh:显示字符后单位,方便阅读h,human人性化
第一个root:所有组,主人
第二个root:所属组,用户组
1月14 18:18:最后一次修改的时间
记忆:r读read,w写write,x执行execute
二、文件处理命令
1.目录处理命令
目录同样是文件,目录用于保存文件
(1).建立目录:mkdir make directories
mkdir -p [目录名]
-p 递归创建,先创建上级目录,再创建第二级目录
[[email protected] ~]# mkdir -p japan/cangls
[[email protected] ~]# ls
anaconda-ks.cfg bols install.log install.log.syslog japan
[[email protected] ~]# cd japan/
[[email protected] japan]# ls
cangls
(2).切换所在目录:cd change directory切换目录
简化操作:
cd ~ 进入当前用户的家目录
cd 进入当前用户的家目录 /Ctrl+L xshell清除屏幕
cd -进入上次目录
cd .. 进入上一级目录
cd . 进入当前目录
[[email protected] japan]# cd /root/
[[email protected] ~]# ls
[[email protected] cangle]# pwd
/root/japan/cangls
[[email protected] cangls]# cd~
[[email protected] ~]# cd japan/cangls
[[email protected] cangls]# cd
[[email protected] ~]# cd -
/root/japan/cangls
[[email protected] cangls]# cd -
root
[[email protected] ~]# cd ..
[[email protected] /]# root目录
.相对路径:参照当前所在目录,进行查找
如:[[email protected] ~]# cd ../usr/local/src/
[[email protected] /]# cd
[[email protected] ~]# pwd
/root
[[email protected] ~]#cd ../usr/local/src/ 相对路径发生改变
[[email protected] src]# pwd
/usr/local/src
[[email protected] src]# cd ../usr/local/src/ 路径已经改变,,所以提示错误无法确认到src中的usr目录
-bash : cd: ../usr/local/src/:没有那个文件或目录
[[email protected] src]#
.绝对路径:从根目录开始指定,一级一级递归查找。在任何目录下,都能进入指定位置,更加可靠
如:[[email protected] src]# cd /etc/
[[email protected] src]# cd /etc/
[[email protected] etc]# cd /etc/
[[email protected] etc]# cd /etc/
[[email protected] etc]# cd /etc/
[[email protected] etc]#
命令在任何目录下都可以运行,毕竟是从根目录开始的
如果不记得的目标目录,
[[email protected] src]# cd /(按两下tab)使用tab可以补全命令或者目录
(3).查询所在目录位置:pwd
.pwd :print working directory打印工作目录,显示当前目录
(4).删除空目录:rmdir
.rmdir [目录名]:remove empty directories 删除空目录
[[email protected] ~]# ls
anaconda-ks.cfg bols install.log install.log.syslog japan
[[email protected] ~]# rmdir bols/
[[email protected] ~]# ls
anaconda-ks.cfg install.log install.log.syslog japan
[[email protected] ~]# rmdir japan/
rmdir:删除 "japan/"失败:目录非空
因为japan里面有文件夹cangls,所以非空无法删除
(5).删除文件或目录:rm
.rm -rf [文件或目录]
命令英文愿意:remove
选项:
-r 删除目录,删除目录时不可缺少
-f 强制
[[email protected] ~]# rm -rf / 删除根目录99%的文件,几乎等于格式化,自杀式命令
(6).复制命令:cp
cp [选项] [原文件或目录] [目标目录]
命令英文愿意:copy
选项:
-r 复制目录
-p 连带文件属性复制
-d 若源文件是链接文件,则复制链接属性
-a 相当于-pdr
[[email protected] ~]# cpanaconda-ks.cfg /tmp/ana(添加这个名字说明复制过去会更改文件名,不填写则复制过去仍是源文件名)
[[email protected] ~]# ls
anaconda-ks.cfg install.log install.log.syslog japan
[[email protected] ~]# cp japan/ /tmp/ 注意空格一下隔开japan/和/tmp/
cp:略过目录"japan/" 需要添加-r
[[email protected] ~]# cp -r japan/ /tmp/
[[email protected] ~]# ls /tmp/
ana japan yum.log
可以使用ll查看我文件属性和权限分布
[[email protected] ~]# ll 或者写成ls -l
总用量 48
- rw-------. 1 root root 1207 1月 14 20:38 ana
普通复制出来的文件时间新旧文件时间不一致
[[email protected] ~]# cp -pdr
复制出来的文件和源文件属性等全部一致
(7)剪切或改名命令:mv
mv [原文件或目录][目标目录]
英文原意:move
剪切不区分文件和目录,不加-r
[[email protected] ~]# mv japan/ /tmp/japan1 不在同一个目录下是剪切
[[email protected] ~]# ls
anaconda-ks.cfg install.log install.log.syslog
[[email protected] ~]# cd /tmp/
[[email protected] tmp]# ls
ana anaconda-ks.cfg japan japan1 yum.log
改名:
[[email protected] tmp]# mv anaconda-ks.cfg longls 在同一个目录下就变成改名了
[[email protected] tmp]# ls
ana japan japan1 longls yum.log
常用一级目录的作用:
/根目录
/bin 命令保存目录(普通用户就可以读取的命令)
根目录/下的bin和sbin,usr目录下的bin和sbin四个目录都是用来保存系统命令的,sbin只有root才能使用,普通用户不行sbin,super bin
/boot 启动目录,启动相关文件
/dev 设备配置文件保存目录
/etc 配置文件保存目录
/root 超级用户的家目录
/home 普通用户的家目录
/lib 系统库保存目录,常用函数库
/mnt 系统挂载文件,cd-rom挂载光盘,usb挂载U盘
/media 挂载目录
/misc 空目录,最后三个是用挂载目录
使用规范,约定俗成的目录名
/proc/直接写入内存
/sys/
proc和sys目录是不能直接操作的,用来保存内存的过载点
不能用来存放数据,首先内存不能永久保存,而且存放会使系统变慢
/var 系统相关文档的内容
/tmp 存放临时文件
总结:可以在家目录root或home,以及tmp目录下随便放内容
根目录只存放必要的文件
(8).链接命令:ln
ln -s [原文件][目标文件]
命令英文原意:link
功能描述:生成链接文件
选项: -s 创建软链接 soft
.硬链接特征:
1、拥有相同的i节点和存储block块(一般4KB一个block),可以看做是同一个文件
相当于一个存储文件的不同的获取入口,镜像一样存储double份
2、可以通过i节点识别
3、不能跨分区
4、不能针对目录使用
[[email protected] ~]# ls
anacondalks.cfg cangls install.log install.log.syslog
[[email protected] ~]# ln /root/anaconda-ks.cfg /tmp/ana.hard
[[email protected] ~]# ll
总用量 44
-w--------. 2 root root 1207 1月 14 18:18 anaconda-ks.cfg
...
[[email protected] ~]# ll /tmp/
总用量 12
-w--------. 2 root root 1207 1月 14 18:18 ana.hard,引用计数都加1
通过任意方式打开修改后,通过另外一个仍可以查看文件,权限一致,其实就是同一个文件
缺陷:不能跨分区,不能针对目录
.软链接特征:
1、类似windows快捷方式,方便打开
2、软链接拥有自己的i节点和block块,但是数据块中保存原文件的文件名和i节点号,并没有实际的文件数据,是原文件的i节点和block块
3、lrwxrwxrwx |软链接
软链接文件权限都为rwxrwxrwx,查看软链接文件的权限,区别于原文件
4、修改任意文件,另一个都改变
5、删除原文件,软链接不能使用
限制少,而且灵活
[[email protected] ~]# ls
anacondalks.cfg cangls install.log install.log.syslog
[[email protected] ~]# ln -s /root/anaconda-ks.cfg /tmp/cangls.soft
[[email protected] ~]# ln /root/cangls /tmp/cangls.hard
[[email protected] ~]# ll
总用量 40
-rw-r--r--. 2 root root 1207 1月 14 22:00 cangls
...
[[email protected] ~]# ll -i
262419 -rw-r--r--. 2 root root 0 1月 14 22:00 cangls
262147 -rw-r--r--. 1 root root 24772 1月 14 18:17 install.log
...
[[email protected] ~]# ll -i /tmp/
262418 -rw--------. 1 root root 1216 1月 14 22:36 ana.hard
932110 -rw-r--r---. 1 root root 0 1月 14 22:00 cangls
262419 -rw-r--r--. 2 root root 0 1月 14 22:00 cangls.hard
932061 lrwxrwxrwx. 1 root root 12 1月 14 22:46 cangls.soft -> /root/cangls
其中rwx是指访问软链接的权限,不是原文件的权限,主要分析inode,权限变化,引用计数
...
使用[[email protected] ~]# cat /tmp/cangls.hard
[[email protected] ~]# cat /tmp/cangls.soft
查看文件
做软链接需要使用绝对目标,否则会难以查找,或者在同一目录下修改