Linux初窥:常用命令之(文件基础操作与文件权限变更)

来源:互联网 发布:淘宝云客服招聘 编辑:程序博客网 时间:2024/05/21 21:46

ls命令

命令用途:显示目录或文件列表。
命令语法:ls [-选项] [文件或目录]
常用选项:
-a:显示所有文件及目录(包括“.”、“..”以及其它以“.”开头的隐藏文件);
-A:显示除隐藏文件“.”和“..”以外的所有文件及目录;

// 显示当前目录下的所有文件ls -a// 显示root目录下除隐藏文件“.”和“..”以外的所有文件ls -A /root/

-l:以长格式显示目录下的文件或目录。输出的信息从左到右依次为:文件类型(“-”二进制文件、“d”目录 、“l”软链接文件)+操作权限(用9个字符来分别表示所有者、所属组、其他人对文件的可操作权限:“r”读 、“w”写 、“x”执行)、硬连接引用计数、所有者、所属组、文件大小、文件最后一次的修改时间和文件名称;

-i:显示文件索引节点号(inode),一个索引节点代表一个文件;
-h:更加人性化地展示文件的大小,单位是G,M,K,Byte。
-d:显示指定目录本身的信息;
//人性化地显示root目录本身的节点号及详细信息ls -ldhi /root///人性化地显示root目录下anaconda-ks.cfg和install.log两个文件的节点号及详细信息ls -lhi /root/anaconda-ks.cfg /root/install.log

mkdir命令

命令用途:创建新目录
命令语法:mkdir [-选项] [目录名]
常用选项:
-p或--parent:递归创建;
-m或--mode:创建目录的同时设置目录的操作权限; 
//在tmp目录下同时创建dubbo和conf两个目录mkdir /tmp/dubbo /tmp/conf//在tmp目录下递归创建solr/data目录,并设置其操作权限为750mkdir -pm 750 /tmp/solr/data

touch命令

命令用途:创建空文件或更新文件的时间属性
命令语法:touch[文件名]
//在tmp目录下创建一个名称为love.story的空文件,若文件已存在则更新文件的时间属性touch /tmp/love.story

cd命令

命令用途:切换工作目录
命令语法:cd [目录]
//切换到用户pengjunlee的家目录cd /home/pengjunlee///切换到当前目录的上一级目录下的tmp目录cd ./../tmp
注:在Linux中,“.”表示当前目录、“..”表示当前目录的上一级目录

pwd命令

命令用途:显示当前工作目录的绝对路径。
命令语法:pwd
//显示当前工作目录的绝对路径pwd

rmdir命令

命令用途:删除空目录
命令语法:rmdir [目录]
//删除tmp目录下的conf目录rmdir /tmp/conf/

cp命令

命令用途:复制文件或目录
命令语法:cp [-选项] [原文件或目录] [目标目录]
常用选项:
-p:复制的同时,保留文件的属性
-r:复制目录
//将root家目录的install.log和install.log.syslog两个文件拷贝到/tmp目录下,并保留文件的属性cp -p /root/install.log /root/install.log.syslog /tmp///将tmp目录下的mysql目录复制到test目录下,并将目录名改为mysql5.6cp -r /tmp/mysql/ /test/mysql5.6//将tmp/mysql目录下的mysql.conf文件复制到test目录下,并将其文件名改为default.confcp /tmp/mysql/mysql.conf /test/default.conf

mv命令

命令用途:移动文件或目录
命令语法:mv [-选项] [原文件或目录] [目标目录]
常用选项:
-b:当文件存在时,覆盖前,为其创建一个备份; 
-f:若目标文件或目录与现有的文件或目录重复,则直接覆盖现有的文件或目录; 
-i:交互式操作,覆盖前先行询问用户,如果源文件与目标文件或目标目录中的文件同名,则询问用户是否覆盖目标文件。用户输入”y”,表示将覆盖目标文件;输入”n”,表示取消对源文件的移动。这样可以避免误将文件覆盖。
-u:当源文件比目标文件新或者目标文件不存在时,才执行移动操作。
//将tmp目录下的install.log和install.log.syslog两个文件拷贝到/test目录下mv /tmp/install.log /tmp/install.log.syslog /test///将tmp目录下的mysql目录移动到test目录下,并将目录名改为mysql5.6mv /tmp/mysql /test/mysql5.6//将tmp目录下的readme.txt文件移动到test目录下,若文件已存在,则在覆盖前为其创建一个备份mv -b /tmp/readme.txt /test/

rm命令

命令用途:删除文件或目录
命令语法:rm [-选项] [文件或目录]
常用选项:
-r:删除目录
-f:强制执行
//强制删除test目录下的install.log和install.log.syslog两个文件rm -f /test/install.log /test/install.log.syslog //强制删除test目录下的mysql5.6目录rm -rf /test/mysql5.6/

ln命令

命令用途:为文件创建链接。
命令语法:ln[-选项][源文件][目标文件]
常用选项:
-s:创建软链接;
// 为mysql.conf文件创建软链接mysql.softln -s mysql.conf mysql.soft// 为mysql.conf文件创建硬链接mysql.hardln mysql.conf mysql.hard
注:(1)软链接类似于Windows中的快捷方式,默认操作权限为->rwxrwxrwx。
    (2)硬链接相当于保留属性复制+同步更新,源文件与硬链接文件的i节点号相同。
    (3)硬链接不能跨分区,且不能为目录创建硬链接。

chmod命令

命令用途:变更文件或目录的权限。
命令语法:chmode[{ugoa}{+-=}{rwx}]|[mode=421 ][-选项] [文件或目录]
常用选项:
-R:递归修改;
// 为mysqld.sh文件的所有者增加执行权限chmod u+x mysqld.sh// 取消mysqld.sh文件的所属组对文件的读权限chmod g-r mysqld.sh// 修改mysqld.sh文件的操作权限为:所有者具有读写执行权限,所属组具有读写权限,其他人具有读权限chmod u=rw,g=rw,o=r mysqld.sh // 修改所有人对mysqld.sh文件的操作权限为读写权限chmod a=rw mysqld.sh // 修改mysql目录及其下所有文件的操作权限,各角色均具有读写权限chmod 666 -R mysql/
注:读、写、执行权限针对文件和目录分别有着不同的含义,如下表所示。
代表字符权限对文件的含义对目录的含义r读权限可以查看文件内容可以列出目录中的内容w写权限可以修改文件内容可以在目录中创建、删除文件x执行权限可以执行文件可以进入目录

chown命令

命令用途:变更某个文件或目录的所有者。
命令语法:chown[所有者] [文件或目录]
常用选项:
-R:递归修改;
// 将mysqld.sh文件的所有者变更为pengjunleechown pengjunlee mysqld.sh// 将mysql目录及其下所有文件的所有者变更为pengjunleechown pengjunlee -R mysql/

chgrp命令

命令用途:变更某个文件或目录的所属组。
命令语法:chgrp[所属组] [文件或目录]
常用选项:
-R:递归修改;
// 将mysqld.sh文件的所属组变更为guest chgrp guest mysqld.sh // 将mysql目录及其下所有文件的所属组变更为guest chgrp guest -R mysql/

umask命令

命令用途:显示、设置新建文件的缺省权限。
命令语法:umask[选项] [文件或目录]
常用选项:
-S:以rwx形式显示新建文件的缺省权限;
// 以rwx形式显示新建文件的缺省权限umask -S// 设置新建文件的缺省权限为077,即所有者具有读写和执行权限,其他角色无任何权限umask 077
注:(1)umask默认以求反的方式来显示缺省权限,例如0022,则默认权限为755=(777-022)。
(2)新建文件会自动将缺省权限中的执行权限去除,即各角色对新建文件都将不具有执行权限。