Linux学习笔记 第四课
**************************************************
mkdir,rmdir,rm,cp,mv,chown,chmod都有-v选项 可视化 都用了别名 提示,避免提示都用绝对路径
/bin/cp
/bin/mv
/bin/rm
/bin/chown
/bin/chmod
**************************************************
一、目录相关命令(mkdir、rmdir、rm、cp、mv)
二、文件相关命令(touch、cat、tac、rev、more、less、head、tail)
三、文件相关属性
四、修改目录文件权限(chown,chmod)
五、相关扩展(umask 、文件类型)
一、目录相关命令(mkdir ,rmdir,rm)
1、mkdir 创建目录
mkdir dir1 dir2 /tmp/dir1 /dir2 可一次创建多个目录
mkdir -p /dir1/dir1/dir1/dir1 -p递归创建目录
mkdir -pv /tmp/123/123/123 -v 显示创建过程的信息
tree -CLd 2 /etc 颜色显示/etc下的两层目录树
2、rmdir 只能删除非空目录
-p递归删除、-v显示删除过程
rmdir -pv /dir1/dir1/dir1 dir1 为空目录不能有文件
3、rm 删除文件,-r 删除目录
which rm alias rm=‘rm -i‘
rm -rf jdfsjkdfldskf // 无论文件存在于否,都删除,不提示任何错误,好用但需慎用
4、cp 拷贝文件
-r 拷贝目录
cp 123.tx /tmp/
cp -r dir1 dir2
5、mv 移动和重命名
mv file1 /tmp/ 将file1移到/tmp
mv file1 /tmp/file2 将file1移动/tmp,并重命名为file2
注意: /bin/cp,/bin/rm,/bin/mv 覆盖拷贝,删除,移动或命名不提示
二、文件相关命令:
1、touch 创建文件,或修改文件时间
touch file1 file2 fiel3 一次创建多个文件
2、查看文件 (cat、tac、rev、head、tail、more、less)
cat /etc/inittab 正常查看文件
tac /etc/inittab 纵向逆序查看文件
rev /etc/inittab 横向逆序产看文件
head /etc/passwd 默认显示前10行
head -20 /etc/init.d/iptables 显示前20行
tail /etc/init.d/iptables 默认显示尾10行
tail -20 /etc/passwd 与tail -n 20 /etc/passwd相同
tail -f /var/log/secure 动态显示日志文件
sed ‘5‘p /etc/passwd 显示第5行。以后介绍
more /etc/protocols
空格 向下翻屏
b 向上翻屏
回车 向下翻一行
q 退出
less /etc/protocols (j,k,g,G,ctrl+f/b,/,?)
ctrl+ f : 往下翻页
ctrl+ b: 往上翻页
j : 向上一行
k : 向下一行
/ :向下搜索:n往下,N往上
? :向上搜索:n往上,N往下
G :转到最后一行
g :跳转到第一行
三、文件和目录属性
[root@localhost ~]# ls -Fa /root
./ ../ anaconda-ks.cfg .bash_history .bash_logout .bash_profile .bashrc .cshrc install.log install.log.syslog .pki/ .ssh/ .tcshrc test/
-F 查看文件属性,/目录,@软链接
[root@localhost ~]# ll /etc/
drwxr-xr-x. 2 root root 4096 3月 9 10:56 alternatives
1、文件类型:d,-,c,l,b,s,p (后面有介绍)
2、文件权限
3、. centos5没有,跟selinux 相关。如果是+ ,和acl相关。只做了解
4、有几个文件使用相同的inode号
5、文件的所属主和组
6、文件大小,字节为单位。-h
7、创建或更改的时间
8、文件名
**********************************************
ls -F 查看文件类型。 @软连接, / 目录 *
**********************************************
四、修改文件属主和权限
1、chown 更改指定的目录或文件的属主
-R 递归更改目录下所有的文件目录
chown user1 1.txt
chown :group1 1.txt
chown user1:group1 1.txt :.都一样
chown user1.group1 1.txt
2、chmod 更改权限
r=4, w=2,x=1
-R 递归更改制定目录本身和改目录下所有权限
[root@localhost ~]# chmod u=r,g=w,o= 1.txt
-r---w----. 1 root root 0 3月 17 10:09 1.txt
[root@localhost ~]# chmod u+rwx,g+rw,o+rx 1.txt
[root@localhost ~]# chmod 777 1.txt
3、umask
[root@localhost ~]# umask 默认0022
0022
[root@localhost ~]# umask 001 修改默认掩码
注意:
mkdir,rmdir,rm,cp,mv,chown,chmod都有-v选项 可视化 都用了别名 提示,避免提示都用绝对路径
/bin/cp
/bin/mv
/bin/rm
/bin/chown
/bin/chmod
五、相关扩展(umask 、文件类型)
1、linux 文件类型
依照文件的内容,又大致可以分为:
纯文本文件(ASCII) :这是Unix系统中最多的一种文件类型,之所以称为纯文本文件,是因为内容为我们可以直接读到的数据,例如数字、字母等等。设 置文件几乎都属于这种文件类型。举例来说,使用命令“cat ~/.bashrc”就可以看到该文件的内容(cat是将文件内容读出来)。
二进制文件(binary):我们在GNU发展史中提过,系统其实仅认识且可以执行二进制文件(binary file)。Linux中的可执行文件(脚本,文本方式的批处理文件不算)就是这种格式的。举例来说,命令cat就是一个二进制文件。
数据格式的文件(data):有些程序在运行过程中,会读取某些特定格式的文件,那些特定格式的文件可以称为数据文件(data file)。举例来说,Linux在用户登入时,都会将登录数据记录在 /var/log/wtmp文件内,该文件是一个数据文件,它能通过last命令读出来。但使用cat时,会读出乱码。因为它是属于一种特殊格式的文件。
1、d 目录(directory)例如 [drwxrwxrwx]。
2、l 连接文件(link):类似Windows下面的快捷方式。例如 [lrwxrwxrwx]。
3、 设备与设备文件(device):与系统外设及存储等相关的一些文件,通常都集中在 /dev目录。通常又分为两种:
b 块(block)设备文件:就是存储数据以供系统存取的接口设备,简单而言就是硬盘。例如一号硬盘的代码是 /dev/hda1等文件。第一个属性为 [b]。
c 字符(character)设备文件:即串行端口的接口设备,例如键盘、鼠标等等。
4、s 套接字(sockets):这类文件通常用在网络数据连接。我们可以启动一个程序来监听客户端的要求,客户端就可以通过套接字来进行数据通信。最常在 /var/run目录中看到这种文件类型。
5、p 管道(FIFO, pipe):FIFO也是一种特殊的文件类型,它主要的目的是,解决多个程序同时存取一个文件所造成的错误。FIFO是first-in-first-out(先进先出)的缩写。
使用“ls -al”命令,就可以简单通过判断每一个文件的第一个属性来了解这个文件是何种类型。除了设备文件是系统中很重要的文件,最好不要随意修改之外(通常它也不会让你修改),另一个比较有趣的文件就是连接文件。如果常常将应用程序放到桌面,就 应该知道在Windows下面有所谓的“快捷方式”。同样,可以将Linux 下的连接文件简单视为一个文件或目录的快捷方式。套接字与管道文件比较难理解,因为它们与进程(process)密切相关。此外,也可以通过man fifo及man socket来查看系统说明。
2、umask 计算方法
① 以二进制方式换算:
先将将总的权限(目录777,文件666)和umask值都转换为2进制,然后对umask取反,再将两个2进制值做与运算,得到的二进制值再转换十进制,即为权限,
[plain] view plaincopy
例如:
666=0110 0110 0110
umask=000=0000 0000 0000 NOT运算 1111 1111 1111
0110 0110 0110
1111 1111 1111
------------------------------
0110 0110 0110=666
umask=011=0000 0001 0001 NOT运算 1111 1110 1110
0110 0110 0110
1111 1110 1110
------------------------------
0110 0110 0110=666
umask=022=0000 0010 0010 NOT运算 1111 1101 1101
0110 0110 0110
1111 1101 1101
------------------------------
0110 0100 0100=644
umask=033=0000 0011 0011 NOT运算 1111 1100 1100
0110 0110 0110
1111 1100 1100
------------------------------
0110 0100 0100=644
②第二种方法就是直接将权限数字代表的栏位写出来,进行对比判断,比较简单直观,适用于知道umask然后计算权限的考题,而对于给予权限然后计算umask的题目第一种方法可做参考:
[plain] view plaincopy
umask=000
(rw-rw-rw-)-(---------)=rw-rw-rw-=666
umask=011
(rw-rw-rw-)-(-----x--x)=rw-rw-rw-=666
umask=022
(rw-rw-rw-)-(----w--w-)=rw-r--r--=644
umask=033
(rw-rw-rw-)-(----wx-wx)=rw-r--r--=644
umask=044
(rw-rw-rw-)-(---r--r--)=rw--w--w-=622
umask=055
(rw-rw-rw-)-(---r-xr-x)=rw--w--w-=622
本文出自 “Linux学习笔记” 博客,请务必保留此出处http://genxin.blog.51cto.com/665191/1621357
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。