Linux的目录以“树”的结构分布,而最初的节点就是根目录,在根目录下各个主要目录如下:
目录内容/bin构建最小系统所需要的命令的存放目录/boot内核与启动文件存放目录/dev设备文件存放目录/etc系统软件的启动和配置文件的存放目录/home用户的主目录/libC编译器的库/media可移动介质的安装挂载点/opt可选的应用软件包/proc进程的映像/root超级用户root的主目录/sbin和系统操作有关的命令/tmp临时文件存放点/usr非系统的程序和命令/var系统专用的数据和配置文件(1)mkdir:建立目录 mkdir -p:完整地创建一个子目录结构
mkdir -p ~/temp/mydir #true:加上-p后可以连续创建目录 mkdir ~/temp/mydir # false:不能连续地创建目录(3)touch:建立一个空文件 (4)mv:移动和重命名文件
mv 1.txt ~ #将1.txt移动至家目录下 mv 1.txt 2.txt #将1.txt重命名为2.txt(5)cp:复制文件和目录 cp -r:连同目录中文件和子目录一起复制
cp -r dir/ ~ #将目录dir复制到家目录下(6)rm:删除目录和文件 rm -f:在避免交互式操作的情况下删除目录或文件 rm -r:删除文件夹 rm -rf:在无交互式的情况下删除所有内容
sudo rm -rf #终极操作——删库跑路一般用户对目录有3种操作权限:读取(r)、写入(w)、执行(x) 对文件而言,若要使该文件可执行,必须要设置其可执行权限。可执行文件分两类:一类是可以直接由CPU执行的二进制代码;另一类是Shell脚本程序。 对目录而言,执行权限控制了用户能否进入该目录;读取权限则负责确定能否列出目录中的内容;写入权限控制在目录中创建、删除和重命名文件。 对于查看或操作一个文件的操作权限或其他属性可通过以下命令来实现: (1)ls -l:查看一个文件的属性 (2)ls -ld:查看一个目录的属性
ls -l 总用量 28 -rw-rw-r-- 1 allen allen 10240 6月 29 10:03 dir.tar -rw-r--r-- 1 root root 115 6月 29 12:54 dir.tar.bz2 -rw-r--r-- 1 root root 112 6月 29 12:49 dir.tar.gz drwxrwxr-x 2 allen allen 4096 7月 1 18:25 myDir -rwxrwxr-x 1 allen allen 113 7月 1 06:56 shell #各个文件的字段意义如下: #第1个字段代表文件类型,如"-"表示是一个普通文件 #接下来的字段表示为3组权限位,如dir.tar的3组权限位为:rw-、rw-、r--,分别表示属主、属组和其他人所拥有的权限 ls -ld myDir/ drwxrwxr-x 2 allen allen 4096 7月 1 18:25 myDir/(3)chown:改变文件的属主
sudo chown allen:root myfile #将文件file的属主改为allen,将属组改为root sudo chown allen myfile #将文件file的属主改为allen sudo chown :root myfile #将文件属组改为root sudo chown -R allen /mydir #将目录mydir和其下所有文件的所有权设置为allen(4)chgrp:改变文件的属组
sudo chgrp usergroup myfile #将文件myfile的属组设置为usergroup sudo chgrp usergroup /mydir #将目录mydir的属组设置为usergroup(5)chmod:改变文件权限 这个命令使用"用户组 +/- 权限"的表述方式来增加/删除相应的权限。其中,用户组包括了文件属主(u)、文件属组(g)、其他用户(o)和所有人(a),权限则包括了读取(r)、写入(w)和执行(x)。
chmod u+x myfile #增加了属主对文件的执行权限 chmod a-x myfile #减少了所有人对文件的执行权限 chmod ug=rw,o=r myfile #将属主和属组的权限设置为可读可写,其他人的权限设置为只可写 chmod o=u myfile #将其他人的权限设置为和属主一样 chmod 777 myfile #将文件权限设置为对所有人可读写、可执行Linux中的文件类型如下:
文件类型符号普通文件-目录d字符设备文件c本地域套接口s块设备文件b有名管道p符号链接l其中,字符设备指的是从设备处读取成字符序列的设备,如磁带和串行线路;块设备指的是用来储存数据并对各部分内容提供同等访问权的设备,如磁盘。
(1)ln -s:软链接
ln -s shell shell1 #给shell取一个别名shell1 ls dir.tar dir.tar.bz2 dir.tar.gz myDir shell shell1(2)ln:硬链接
ln shell shell1 #使shell1也联系到shell文件本身,如此一来shell和shell2这两个文件名就同时联系到了磁盘中的文件(1)输出重定向 程序在默认情况下输出结果的地方称为标准输出(stdout),通常来说,标准输出总是指向显示器。 输出重定向指的是将程序的输出转移到另一处。
ls > myfile #清空myfile文件中原本的内容,将ls的结果输入到myfile文件中 ls >> myfile #保留myfile文件中原本的内容,将ls的结果输入到myfile文件中键入该命令后,ls原本在屏幕上输出的结果就不会在屏幕上输出,而是输出到myfile文件中。
(2)输入重定向 程序在默认情况下接收输入的地方称为标准输入(stdin),通常来说,标准输出总是指向键盘。
管道用 “|” 来表示,将一条命令的输出连接到另一条命令输入。
ls | grep tar #ls首先列出目录下所有的文件名,管道"|"接收到这些输出,并把它们发送给grep命令作为其输入。 dir.tar dir.tar.bz2 dir.tar.gz