《鸟哥的Linux私房菜基础篇》---3 Linux基本指令学习

目录

1、相对路径和绝对路径

2、时间显示:date、cal、bc

3、档案权限:chgrp、chown、chmod

4、目录与路径:cd、pwd、mkdir、rmdir、$PATH

5、档案与目录管理:ls、cp、rm、mv

6、档案内容查阅:cat、tac、nl、more、less、head、tail、od、touch

7、档案与目录的默认权限与隐藏权限:umask、chattr、lsattr、SUID、SGID、SBIT、权限设定、file

8、指令与档案的搜寻:which、whereis、locate、find

9、极重要!权限与指令间的关系


1、相对路径和绝对路径

(1)绝对路径:路径的写法【一定由根目录 / 写起】,例如: /usr/share/doc 这个目录。

(2)相对路径:路径的写法【不是由 / 写起】,例如由 /usr/share/doc 要到 /usr/share/man 底下时,可以写成: 【cd ../man】这就是相对路径的写法啦!相对路径意指【相对于目前工作目录的路径!】

特殊的目录表示:

.                       代表此层目录

..                      代表上一曾目录

-                       代表前一个工作目录

~                      代表【目前用户身份】所在的家目录
~  account       代表account 这个用户的家目录(accout)是个账号名称

注意:根目录(/)的上一层(..)与根目录自己(.)是同一个目录

2、时间显示:date、cal、bc

(1)date 时间日期

(2)cal 日历(caldener)

(3)bc 基本计算(basic calculator)

3、档案权限:chgrp、chown、chmod

需要了解下面的含义:

(1)符号表示法使用以下符号:

u:文件或目录的所有者(user)

g:文件或目录的所属组(group)

o:其他用户(others)

a:所有用户(all),等同于 ugo

(2)操作符:

+:添加权限

-:移除权限

=:设置权限(覆盖原有权限)

(3)权限类型:

r:读取权限(read)

w:写入权限(write)

x:执行权限(execute)

(4)每个权限类型(读、写、执行)对应一个八进制值:

读(r):4

写(w):2

执行(x):1

(1)chgrp 改变档案所属群组

命令格式:chgrp [选项]... 组文件  或 chgrp [选项]... --reference=RFILE文件...

常用选项:

  • -R:递归地更改指定目录及其内部文件和子目录的组所有权。
  • --reference=RFILE:将文件的组所有权更改为与参考文件RFILE相同的组。
  • -c:当发生改变时,输出调试信息。
  • -f:取消除用法消息以外的所有错误消息。
  • -v:运行时显示详细操作信息,描述对每个文件采取的操作或不操作。
  • -H:如果命令行参数是目录的软链接,则遍历该链接(与-R选项一起使用时)。
  • -L:遍历每一个软链接到遇到的目录(与-R选项一起使用时)。
  • -P:不遍历任何软链接(默认行为,与-R选项一起使用时)。

使用示例:

// bash

//1、更改文件的组所有权
chgrp -R Ivy temp.txt

//2、递归更改文件夹及其所有内容的组所有权
chgrp -R Ivy GFG

//3、使用参考文件的组名更改另一个文件或文件夹的组
chgrp -R --reference=abc.txt GFG

 (2)chown 改变档案拥有者

命令格式:chmod [选项] 文件名

使用示例:

// bash

​​/// 1、字母法示例
(1)增加文件所有用户组可执行权限
chmod a+x 文件名
该命令为文件的所有用户(all),都执行(x)权限。

(2)同时修改不同用户权限
chmod ug+w,o-x 文件名
该命令为文件的所有者(u)和所属组(g)增加了写(w)权限,同时删除了其他用户(o)的执行(x)权限。

(3)删除文件权限
chmod a-x 文件名
该命令删除了所有用户的执行(x)权限。

(4)使用“=”设置权限
chmod u=r 文件名
该命令撤销了文件原来的所有权限,然后为所有者(u)设置了读(r)权限。

(5)对一个目录及其子目录所有文件添加权限
chmod -R u+x 目录名
该命令递归地给指定目录下所有文件和子目录的所有者(u)分配执行(x)权限。

​​/// 2、数字法示例
数字法基于字母法,用数字表示不同的权限。其中,r(读权限)对应数字4,w(写权限)对应数字2,x(执行权限)对应数字1。权限值通过将这三种权限对应的数字相加得到,顺序是所有者(u)、所属组(g)、其他用户(o)。

(1)设置文件权限为读、写、执行
chmod 777 文件名
该命令为文件的所有者(u)、所属组(g)和其他用户(o)都设置了读(r)、写(w)、执行(x)权限。数字7是通过4(r)+2(w)+1(x)得到的。

(3)chmod 改变档案的权限

命令格式:chmod [选项] 模式 文件/目录

常用选项 -R 或 --recursive:递归地更改目录及其内容的权限。

1、符号表示法:
// 为所有者可以读、写、执行,所属组可以读、执行,其他用户可以读。
chmod u+rwx,g+rx,o+r myfile.txt

2、八进制表示法
//权限设置为 rwxr-xr-x,即所有者可以读、写、执行,所属组和其他用户可以读、执行。
chmod 755 myfile.txt

3、常用选项
//将 mydirectory 及其所有子目录和文件的权限设置为 rwxr-xr-x。
chmod -R 755 mydirectory
4、目录与路径:cd、pwd、mkdir、rmdir、$PATH

(1)cd 变换工作目录(change directory)

命令格式:cd [选项] [目录路径]

常用选项:

-L:如果目标目录是符号链接,则切换到链接所指向的目录(默认行为)。

-P:如果目标目录是符号链接,则切换到链接所指向的实际物理目录。

//切换到当前目录的上一级目录
cd ..

//连续切换多个目录(虽然不常见,但可以通过空格分隔实现)
cd /usr/local/bin

//返回上次访问的目录
cd -

//切换到带有空格的目录
cd "my directory"
cd 'my directory'
cd my\ directory

(2)pwd 显示目前所在目录(print working directory)

命令格式:pwd [选项] 

常用选项:

-L:显示逻辑路径,即包含符号链接(软链接)的路径。这是pwd命令的默认行为。

-P:显示物理路径,即实际文件或目录的路径,不解析符号链接。

--help:显示pwd命令的帮助信息,包括如何使用和可用的选项。

--version:显示pwd命令的版本信息。

//返回了当前工作目录的逻辑路径,即包含符号链接的路径(如果有的话)
$ pwd  
/home/user/documents

//假设/home/user是一个符号链接,它指向/mnt/storage/user。
//在此,pwd -P 命令返回了当前工作目录的物理路径,即不解析符号链接的实际路径。
$ pwd -P  
/mnt/storage/user/documents

//在Shell脚本中,可以使用pwd命令来确定脚本运行时所在的工作目录
#!/bin/bash  
current_dir=$(pwd)  
echo "当前脚本的工作目录是: $current_dir"

注意事项:

A、pwd命令返回的是当前工作目录的绝对路径,而不是相对路径。

B、当使用符号链接时,pwd命令的默认行为是显示逻辑路径。如果需要显示物理路径,可以使用-P选项。

(3)mkdir 建立新目录

命令格式:mkdir [选项] 目录名称

常用选项:

  • -p:递归地创建目录。如果指定的目录的上级目录不存在,则会递归地创建它们。这对于创建多级目录结构非常有用。
  • -m 或 --mode:设置新创建目录的权限(八进制数)。这允许用户手动配置目录的权限,而不是使用默认的权限。
  • -v 或 --verbose:显示创建的目录的详细信息。这包括每个创建的目录的权限、所有者和群组等信息。
  • -Z:为新创建的目录设置SELinux上下文。这对于需要SELinux支持的程序或服务来说是有用的。
  • --parents:与-p选项类似,用于递归地创建目录,但不会设置新目录的权限(默认为777)。这个选项通常与-m选项一起使用。
  • --no-clobber:如果指定的目录已经存在,则不覆盖它并显示错误消息。默认情况下,如果目录已经存在,mkdir会覆盖它并显示警告消息(但实际上,mkdir命令在尝试创建已存在的目录时会直接报错,而不会覆盖已存在的目录)。
//创建单个目录
mkdir newdir

//创建多个目录
mkdir dir1 dir2 dir3

//创建多级目录
mkdir -p dir1/dir2/dir3

//设置目录权限
mkdir -m 755 mydir

//显示详细信息
mkdir -v mydir

(4)rmdir 删除空的目录

命令格式:rmdir [选项] 目录名

常用选项:

  • -p 或 --parents:递归地删除目录及其上级空目录。如果删除后目录的上级目录也为空,则继续删除上级目录,直到遇到非空目录为止。
  • -v 或 --verbose:显示删除的目录名称。在删除每个目录时,rmdir会输出一条消息,确认该目录已被成功删除。
  • --ignore-fail-on-non-empty:在尝试删除非空目录时,此选项会使rmdir不报错并继续执行。但请注意,这并不会实际删除非空目录,只是忽略了删除非空目录时的错误消息。

//删除单个空目录
rmdir newdir

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值