命令格式:命令 [-选项] [参数]
例:ls -al /etc
ls命令 :
查看指定目录下文件,默认为当前文件夹;
-a:等于--all,查看所有文件,包括隐藏文件
ls /etc :/etc目录下的文件
-l: long长格式显示,可以查看文件的相关属性
这里2表示一个引用计数,这里表示有2个引用计数,有点像硬链接的个数。
文件的所有者只能有一个,一般谁创建属于谁,也可以将文件的所有者改成其他所有者,但只能有一个所有者 ;
所属组,针对多用户的情况,多个用户可以同属于一个组,一个文件如果在一个所属组内有读写执行的权限,那么属于该组的所有用户都可以使用这些权限。
一个文件和用户有三种关系:
1.所有者,谁创建属于谁,这个所有者可以变更,针对情况:用户A创建了一个文件,出差了,把剩下的工作给用户B,这时候把该文件的所有者改成B;
2.所属组:多个用户同属于一个组,文件针对组A,给定一些权限,那么所有在改组的用户都可以对该文件使用特定的权限;
3.other,既不是该文件的所有者,也不是指定的组。
所以,linux所有的文件都有三组权限,分别针对读,写,执行权限进行设定,rwxr-xr-x,这里对所有者的权限是rwx,对所属组的权限是r-x,对其他用户的权限是r-x。
这里两个wolf wolf分别表示所有者,所属组;接下来,4096是文件大小,再往后是修改时间,文件名。
第一个字母:d表示这个文件是一个目录,l-表示是一个软链接,-表示是一个普通文件。
-h:人性化显示文件的大小,需要配合-l使用,该使用kb显示或者b显示,系统会自动换算。
-alh: 显示所有文件,包括隐藏文件,以长格式方式显示,文件大小自动换算:
-d: 只显示当前目录本身,不显示目录里面的文件
-i:查看目录里所有文件的节点号(id), i节点
文件权限:
-rw-r--r--
-文件类型(-二进制文件, d目录, l软连接文件)
rw- r-- r--
u g o
u所有者,g所属组,o其他人
r读,w写,x执行
mkdir命令
mkdir /tmp/dir1: 在/tmp目录下创建一个新的目录dir1, 这条命令要求 /tmp目录必须存在;也就说无法递归地创建目录
-p: 递归地创建目录;
mkdir可同时创建多个目录:mkdir /tmp/dir1 /tmp/dir2 /tmp/dir3 同时创建了dir1,dir2, dir3三个目录;
pwd命令:
显示当前目录的完整路径
rmdir命令:remove empty dirname
只能删除 空目录,也就是说目录里不能有文件和目录
cp命令:copy, 复制文件或目录
语法:cp -rp [源目录] [目的目录]
-r 复制目录
-p 保留文件属性,没有p的话,修改时间就是复制过去的时候的时间,-p则可以保存文件复制的属性
可同时 复制多个文件
在复制过程中,还可以修改文件名称,cp /tmp/dir1 /root/dir2, 复制的同时将dir1改名为dir2
mv命令:move 剪切文件、改名
语法:mv [源文件或目录] [目标目录]
rm命令:删除文件和目录
语法:rm -rf [文件或目录]
-r: 删除目录
-f: 强制执行
-rf: 强制删除一个目录,不询问
touch命令:创建文件
touch file1.txt 在当前目录下创建一个名为file1.txt的文件;
可同时创建多个文件:touch file1 file2同时创建了file1 和 file2;
cat命令:显示文件内容
语法:cat [文件名]
-n 显示行号
cat /etc/issue 查看/etc目录下的issue文件,全部显示
cat /etc/services 查看/etc目录下的services文件,全部显示
cat打开文件并显示,如果一屏幕放不下,则会跳动显示 ,不利于查看具体的内容;
tac /etc/services 相比cat命令,tac反着显示文件的内容
more命令:分页显示文件内容
语法:more [文件名]
空格或f: 翻页
Enter: 换行
q或Q: 退出
例: more /etc/services
总结:可以翻页也可以逐行查看,但是不允许往前看
less命令:分页显示文件内容(可向上翻页),针对more命令的改进
语法:less [文件名]
less /etc/services 查看文件services
空格或f: 往下翻页
Enter: 换行
q或Q: 退出
↑箭头:一行一行往上翻
pageUp: 往上翻
/关键字, 全文搜索,回车后显示第一个出现的位置,n 可以显示搜索到的下一个;
head命令 :显示文件前面几行,默认为10
语法:head [文件名]
-n: 指定行数
head -n 20 /etc/services 显示services文件的前20行
tail命令:显示文件的后面几行,默认为10
语法:tail [文件名]
-n: 指定行数
-f: 动态显示文件末尾内容,查看日志时非常适合
tail -n 18 /etc/services 查看services文件的后面18行;
ln命令:生成链接文件, link
语法:ln -s [源文件] [目标文件]
-s 创建软连接
ln /etc/issue /tmp/issue.hard 创建硬链接
文件的引用数+1,权限和源文件相同。
ln -s /etc/issue /tmp/issue.soft 创建软连接
l表示软连接文件,软连接文件的所属用户,所属组,其他都具有读写执行权限
硬链接相当于 拷贝,但是可以同步更新,软连接相当于快捷方式;
硬链接和源文件的i节点相同,使用i节点进行文件复制,软连接和源文件的id不相同;
硬链接的应用场景:备份同步更新
1)硬链接无法跨设备,跨分区使用;2)硬链接无法对目录使用;3)软连接的所有权限都是rwx