Linux常用命令(1):文件目录ln chmod

来源:互联网 发布:sql语言属于什么语言 编辑:程序博客网 时间:2024/05/17 03:25

1.basename

从文件中去掉路径和扩展名. 这在shell脚本里是比较有用的命令,当传入一个完整的路径加文件名时可以用它来获取文件名信息.

去掉路径

例如有文件/home/arwen/Documents/linux_study_not.执行如下命令

basename /home/arwen/Documents/linux_study_not 输出结果linux_study_note

当然目录其实也是一种特殊的文件,所以如果只是一个目录的完整路径,那通过basename命令获取的是路径最后面那个目录名

如basename /home/arwen/Documents输出的结果是Documents

去掉扩展名

basename /home/arwen/Documents/linux_study_not.log  .log 输出结果linux_study_note不过扩展名在Linux中貌似基本上没啥用,很少用到.


2.ln

使用方式ln [option] source_file dist_file   (source_file是待建立链接文件的文件,dist_file是新创建的链接文件)

这是一个非常有趣的命令,可以给一个文件或目录建立连接.反正通俗的理解有点像windows里经常用到的桌面快捷方式.不过还是有点差别.

连接分硬连接hard link 与软件连接symbolic link

硬连接

限制较多,用的也较少.它只能适用于文件,目录不行.并且文件必须是同一文件系统中.假如有文件/home/arwen/my_note.txt给它建立一个连接的硬连接的命令如下

ln /home/arwen/my_note.txt   /home/note_link  这样访问note_link就跟访问my_note.txt一样,改动其中任何一个也会影响到另一个内容.

另外有个特别的地方,就是删除其中任何一个,另一个仍然不受影响.你可以理解为文件内容是放在物理磁盘上,而它俩都是指向物理地址的连接.两者间是没直接关联的.就像两个指针,同时指向一块内存区域,删除任何一个指针对另一个没影响


软连接

假如有文件/home/arwen/note.txt,建立软连接命令如下ln -s /home/arwen/note.txt    /home/note_link 用起来跟上面的硬连接也类似.只不过如果删除了note.txt后,note_link也废了.我们可以这样理解,note_link相当于一个指针,指向note.txt.



3.cd

切换工作目录.这个命令使用频率非常高.

cd 不带参数则是切换到默认主目录下,假如登陆用记是arwen.则cd是切换到/home/arwen目录下,可以用pwd查看当前目录.

如果是root用户登陆则cd是切换到/root目录下

cd..返回上一级目录,不过有些版本中直接输入两个点就可以返回上一级目录,比如Suse中.而Redhat,Ubuntu貌似不能省略cd


符号连接目录切换

切换普通的目录反正cd 加目录名就行.但我们可以给目录建立符号连接.假如有目录/home/arwen/Documents,给它建立连接/home/tmp/doc.命令如下

ln -s /home/arwen/Documents  /home/tmp/doc

执行如下命令

cd /home/tmp/doc或者cd -L /home/tmp/doc则是切换到/home/tmp/doc目录下.

执行如下命令

cd -P /home/tmp/doc则是切换到/home/arwen/Documents目录下去了.



4.chmod

改变文件权限的命令.可以通过字符标记法或数字标志法来改变权限.

字符标志法

chmod [ugoa] [+-=] [rwx]  file_name

[ugoa]参数含义:u表示文件拥有者,g表示用户组,o表示其他用户,除上述两种用户名的用户.a表示所有用户,包括上述3种用户

[+-=]参数含义:+表示原有基础上添加权限,-表示原有基础上减少权限.=表示开始不管是啥权限,以现在赋予的权限为准

[rwx]参数含义:r读,w写,x可执行权限


示例,假如有文件test

减少文件拥有者的写权限,一般拥有者默认有读写权限的 chmod u-w test

让所有用户有写权限 chmod a+w test


chmod数字标志法

这个用法有点让人晕乎,不太好理解.如果这样来理解就容易了.

符号标志法里说到有分ugo三组用户,然后每组用户对应的权限有rwx.

1.那现在我们用三个数字来表示三种用户的权限.只是用个什么样的数字来表示用户权限就技巧

2.有rwx三种权限,那么我们首先想到用3个二进制数表示就行.100表示读010表示写,001表示执行.000表示没有任务权限.如果转化为十进制他们对应的值分别为4,2,1,0那么一个用户所有的权限对应的数值,就是三个数值相加的结果.假如用户有读写执行权限则是4+2+1=7 ,有执行权限则是1


示例,假如有文件txt

给文件拥有者赋予读写执行权限,用户组和其他用户没有任务权限chmod 700 txt






0 0
原创粉丝点击