1. 权限类
[root@localhost ~]#
- root 当前用户(超级用户)
- localhost主机名
- ~ 当前目录,表示家目录。超级用户的家目录/root;普通用户家目录在/home/{username}下(/ 为根目录)
- # 超级用户 (如果为 $ 表示普通用户)
su {username}
切换到{username}用户。如果切到root用户。需要输入密码。pwd与passwd
- pwd 查看当前目录的完整路径
- passwd 修改密码
权限介绍
- 确定文件类型
当为[ d ]则是目录
当为[ - ]则是文件;
若是[ l ]则表示为链接文档(link file);
若是[ b ]则表示为装置文件里面的可供储存的接口设备(可随机存取装置);
若是[ c ]则表示为装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置) - 确定属主(该文件的所有者)拥有该文件的权限
[ r ]代表可读(read)、[ w ]代表可写(write)、[ x ]代表可执行(execute),要注意的是,这三个权限的位置不会改变,如果没有权限,就会出现减号[ - ]而已 - 确定属组(所有者的同组用户)拥有该文件的权限
- 确定其他用户拥有该文件的权限
其中,第1、4、7位表示读权限,如果用"r"字符表示,则有读权限,如果用"-"字符表示,则没有读权限;第2、5、8位表示写权限, 如果用"w"字符表示,则有写权限,如果用"-"字符表示没有写权限;第3、6、9位表示可执行权限,如果用"x"字符表示, 则有执行权限,如果用"-"字符表示,则没有执行权限。 - 链接数
- 文件所有者
- 文件所属组
- 文件字节大小
- 文件最后修改日期
- 文件名
- 确定文件类型
对于目录来说,如要进入目录,则必须对目录要有x权限
- –x 只能进入目录,但不能查看目录内容
- r-- 只能查看目录内容,但不能进入目录
- 文件为一般文本文件、数据库文件、二进制可执行文件等,因此权限对于文件来说,意义如下:
- r(read):可读取此文件的实际内容,例如读取文本文件hello.txt里的hello,world!
- w(write):可以编辑、新增或是修改文件的内容(注:不包含删除该文件本身的权限)
- x(eXecute):该文件具有被系统执行的权限(注:Linux下,文件能否被执行,不像windows下看文件扩展名,而是由文件是否具有x权限来决定的)
- 目录指文件夹,因此权限意义如下:
- r(read contents in directory):表示具有读取目录结构列表的权限,当具有一个目录的r权限时,就可以使用ls将其打印出来
- w(modify contents of directory):这个可写入权限对于目录来说很强大,你可以做的操作如下:
- 新建新的文件与目录
- 删除已经存在的文件与目录(且不论该文件的权限如何)
- 将已存在的文件或目录重命名
- 转移该目录内的文件、目录位置
- 目录的w权限与该目录下的文件名变动有直接关系。
- x(access directory):目录x代表用户是否能进入该目录成为工作目录,例如具有/data的x权限,那么可以执行cd /data,反之则不行。
- CentOS常用目录介绍
/bin:是Binary的缩写, 这个目录存放着最经常使用的命令。 /boot:存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。 /dev :是Device(设备)的缩写, 该目录下存放的是Linux的外部设备,在Linux中访问设备的方式和访问文件的方式是相同的。 /etc:用来存放所有的系统管理所需要的配置文件和子目录。 /home:用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。 /lib:放着系统最基本的动态连接共享库,其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库。 /lost+found:这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。 /media:linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下。 /mnt:系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容了。 /opt:主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。 /proc:是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。 /root:为系统管理员,也称作超级权限者的用户主目录。 /sbin:s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序。 /selinux:是Redhat/CentOS所特有的目录,Selinux是一个安全机制,类似于windows的防火墙,但是这套机制比较复杂,这个目录就是存放selinux相关的文件的。 /srv:存放一些服务启动之后需要提取的数据。 /sys:linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统 sysfs,sysfs文件系统集成了下面3种文件系统的信息:针对进程信息的proc文件系统、针对设备的devfs文件系统以及针对伪终端的devpts文件系统。该文件系统是内核设备树的一个直观反映。当一个内核对象被创建的时候,对应的文件和目录也在内核对象子系统中被创建。 /tmp:是用来存放一些临时文件的。 /usr:用户的很多应用程序和文件都放在这个目录下,类似于windows下的program files目录。 /usr/bin:系统用户使用的应用程序。 /usr/sbin:超级用户使用的比较高级的管理程序和系统守护程序。 /usr/src:内核源代码默认的放置目录。 /var:这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件 - 递归创建文件夹
mkdir -p a/b/c -p 表示递归创建 - touch xx.txt 创建xx.txt文件
vi xx.txt —>按i进入insert模式。esc +: 退出编辑模式,wq!保存退出,q!不保存退出 - vi&vim
vi: 创建文件或编辑文件 vi a.txt 创建文件a.txt并进入文档,按下a或者i或者o进入编辑模式,内容写完之后,按下esc键,然后输入命令: :wq 保存并退出 注意必须要使用: 在Linux下一般使用vi编辑器来编辑文件。vi既可以查看文件也可以编辑文件。 三种模式:命令行、插入、底行模式。切换到命令行模式:按Esc键;切换到插入模式:按 i 、o、a键; i 在当前位置前插入 I 在当前行首插入 a 在当前位置后插入 A 在当前行尾插入 o 在当前行之后插入一行 O 在当前行之前插入一行 - cat [参数] <文件名> 显示文件的内容
cat命令比较常见,但是还有一个功能是将文件内容复制到其他文件中。 1.覆盖:cat /root/222.txt >123.txt 获取222的内容然后写入到123.txt中,会覆盖原始内容 2.追加:cat /root/222.txt >>123.txt 同上,但是是追加内容 不是覆盖 - more 和less和tail
more一般用于要显示的内容会超过一个画面长度的情况,按空格键显示下一个画面。 回车显示下一行内容。按 q 键退出查看。 less用法和more类似,不同的是less可以通过PgUp、PgDn键来控制 tail命令是在实际使用过程中使用非常多的一个命令,它的功能是:用于显示文件后几行的内容。 - mv 移动或者重命名
mv a.txt b.txt 将a.txt重命名为b.txt 文件夹一样 mv c.txt /root/b/ 将c.txt移动到b目录下 - rm删除文件,用法:rm [选项]… 文件…
rm a.txt 删除a.txt文件,删除需要用户确认 rm -f a.txt 不询问,直接删除rm 删除目录 rm -r a 递归删除不询问递归删除(慎用) rm -rf a 不询问递归删除 rm -rf * 删除所有文件 rm -rf /* 自杀 - tar
tar命令位于/bin目录下,它能够将用户所指定的文件或目录打包成一个文件,但不做压缩 一般Linux上常用的压缩方式是选用tar将许多文件打包成一个文件,再以gzip压缩命令压缩成xxx.tar.gz(或称为xxx.tgz)的文件 格式:tar [参数] 文件 常用参数: -c:创建一个新tar文件 -v:显示运行过程的信息 -f:指定文件名 -z:调用gzip压缩命令进行压缩 -t:查看压缩文件的内容 -x:解开tar文件 命令: tar -cvf test1.tar ./* 将当前目录下的所有文件打包为test1.tar tar -cvf test2.tar b.txt 将指定文件打包到test2.tar tar -zcvf test3.tar.gz ./* 将当前目录下的所有文件打包并且压缩到test3.tar.gz tar -xvf test1.tar 解压到当前目录 tar -xzvf test3.tar.gz -C aaa 将文件解压到 aaa目录 - grep 查找符合条件的字符串。用法: grep [选项]… PATTERN [FILE]…
grep str b.txt 在文件中查找str grep -E "[0~9]" b.txt -E 支持正则 grep -r str /sofa 用递归方式查询/sofa以及子文件下所有包含“str”的文件,并打印改行所在的内容。 https://www.runoob.com/linux/linux-comm-grep.html - find 主要根据参数寻找指定的文件名
find . -name "*.java" // 将目前目录及其子目录下所有延伸档名是 java 的文件列出来。 find . -ctime -20 // 将目前目录及其子目录下所有最近 20 天内更新过的文件列出 https://www.runoob.com/linux/linux-comm-find.html - 复制
cp 原来路径 目标路径 cp -R 原来路径 目标路径 // 递归复制 - 关机
shutdown -r now 立刻重启 shutdown -r 10 过10分钟自动重启 shutdown -r 20:35 在时间为20:35时候重启 shutdown -c 取消重启 poweroff 立刻关机 shutdown -h now 立刻关机 shutdown -h 10 10分钟后自动关机
版权声明:本文为qq_42742861原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。