2018-07-28 笔记

目录结构

/:根目录,文件的最顶端,/etc、/bin、/dev、/lib、/sbin 应该和根目录放在同一个分区,/usr/local 可以单独放置一个分区

/bin :存放系统所需要的重要命令,ls,cp,mkdir 等,usr/bin 也存放了一些系统命令,这些命令对应的文件都是可执行的,普通用户可以使用大部分的命令

/boot:存放Linux启动时内核及引导系统程序所需要的核心文件,内核文件和grub 系统引导管理器都位于此目录

/dev:存放Linux 系统下的设备文件,如光驱,磁盘等。访问该目录下的某个文件相当于访问某个硬件设备,常用的是挂在光驱

/etc:一般存放系统的配置文件,作为一些软件启动时默认配置文件读取的目录,如

/etc/fstab存放系统分区信息

/home:系统默认的用户主目录

/lib:主要存放动态链接库

/lost+found:存放一些当系统以外崩溃或机器意外关机时产生的文件碎片

/mnt:用于存放挂在储存设备的挂载目录

/proc:存放操作系统运行时的运行信息,如进程信息、内核信息、网络信息,如/etc/cpuinfo存放CPU的相关信息。

/root:Linux超级权限用户的root目录

/sbin:存放一些系统管理的命令,一般只能由超级权限用户root执行。

/tmp:临时文件目录,任何人都可以访问。系统软件或用户运行程序如MySQL时产生的临时文件存放到这里,此目录数据需要定期清除。中号数据不可放置在此目录下,此目录空间不宜过小

/usr:应用程序存放目录,如命令、帮助文档等。安装Linux软件包时默认安装到/usr/local目录下

/var:这个目录的内容经常变动的,/var/log用于存放系统日志,/var/lib存放系统库文件等。

/sys:目录与/proc类似,是一个虚拟的文件系统,主要记录与系统核心相关的信息,入系统当前已经载入的模块信息等。这个目录实际不占磁盘容量。

 

ls命令

ls-l 以长格式显示目录下的内容列表。输出的信息从左到右依次包括文件名,文件类型、权限模式、硬连接数、所有者、组、文件大小和文件的最后修改时间等

ls-i 显示目录ion号

ls-t 按时间排序

ls-a 显示所有档案及目录

ls-d 只列目录本身,而不显示目录下的内容列表。

ls-k 以KB(千字节)为单位显示文件大小

ls-s 显示文件和目录的大小,以区块为单位

ls-R 递归处理,将指定目录下的所有文件及子目录一并处理

alisa

alias命令用来设置指令的别名。我们可以使用该命令可以将一些较长的命令进行简化。使用alias时,用户必须使用单引号''将原来的命令引起来,防止特殊字符导致错误。

alias命令的作用只局限于该次登入的操作。若要每次登入都能够使用这些命令别名,则可将相应的alias命令存放到bash的初始化文件/etc/bashrc中。

实例

[centos@centos home]$ alias xxx=”ls“

[centos@localhost ~]$ xxx1.txt houmu

[centos@localhost ~]$ ls1.txt houmu

alias过之后现在输入xxx就等于ls、xxx是别名 别名= ls(才是真实命令)

[centos@centos home]$ xxx1111 centos vrnyod

/usr/bin/ls

 

 

相对路径和绝对路径

绝对路径:是从根开始的路径,它指定到的目录或者文件具有唯一性,意思是不管目前在哪一个目录下面,你只要使用绝对路径就可以定位到系统任何一个目录或文件。

相对路径:就是相对于当前目录,pwd 查看当前目录在哪

绝对路径 vi /etc/sysconfig/network-scripts/ifcfg-enp0s3

绝对路径是指定使用绝对路径可以找到任何一个文件

相对路径:vi /network-scripts/ifcfg-enp0s3

在相对当前的目录进行编译比如我编译vi /etc/sysconfig/network-scripts/ifcfg-enp0s3 这是绝对路径\ 相对路径在network-scripts目录下者只需vi /network-scripts/ifcfg-enp0s3\只需这样就能完成编译

 

cd

cd 进入目录

cd 如果你什么都不加就会进入到用户的根目录

cd后面只能是目录名,跟文件名会报错

[centos@centos home ~]# cd /etc/passwd-bash: cd: /etc/passwd: 不是目录

 

cd- 进入上一次所在的目录等于你在~目录下、cd进了/etc下在输入cd-就会回到~目录下相对于目录交换切换

yonhdeMacBook-Pro:etc houmu$ cd -/Users/houmuyonhdeMacBook-Pro:~ houmu$ cd -/etcyonhdeMacBook-Pro:etc houmu$ cd -/Users/houmu

 

cd~ 进入根目录、同等于 cd什么都不加

yonhdeMacBook-Pro:etc houmu$ cdyonhdeMacBook-Pro:~ houmu$

cd.. 返回上一层目录\比如你在/etc目录下输入了cd..回到上一级目录/目录下等于返回上一层目录

yonhdeMacBook-Pro:etc houmu$ pwd/etcyonhdeMacBook-Pro:etc houmu$ cd ..yonhdeMacBook-Pro:/ houmu$

 

创建和删除目录mkdir rmdir

mkdir 创建目录

mkdir -p 可以多次创建目录

mkdir -p /tmp/yoni/1/2这样就在连续创建了目录、同rmdir删除也一样可以执行

rmdir 删除目录、目录在空的情况下才能删除比如在yoni目录下有个1下有个2你想删1不可行要把2先删才行、rmdir只能删除目录为空的,及时加上-p也只能删除一系列空的目录、rmdir命令局性比较大、一般不常用

touch 创建一个空白的文件

touch 1111 这样就可以创建一个空白1111文件了,可以创建也可以删除rm 1111 这样就可以删除了前提是空白的

rm(remove) 可以删除文件及非空目录例:rm /tmp/houmu/2/3/1.txt#删除目录下的1.txtrm:是否删除普通文件“/tmp/aminglinux/2/3/1.txt?”#系统默认会提示是否要删除?输入"y"才会删除掉。怎样才能在删除时不提示呢?可以加"-f",需慎用!rm -f /tmp/houmu/2/3/*.txt#加”-f “强制删除/tmp/h/2/3/下的所有.txt文件。

 

rm -r /tmp/houmu/2/3#加"-r"级联的删除目录及文件,系统默认提示是否删除,需要确认,如果不想多次确认,可用"rm -rf",即可直接删除。rm -rfv /tmp/houmu/2/3#可视化的直接删除级联目录,你会发现系统会先删除子文件再删除子目录,就算删除一个不存在的目录,也不会提示

CP

 

cp指令用于复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到此目录中。若同时指定多个文件或目录,而最后的目的地并非一个已存在的目录,则会出现错误信息

 

-a 或 --archive 此参数的效果和同时指定"-dpR"参数相同

-b 或 --backup 删除、覆盖目的文件先备份,备份的文件或目录亦建立为符号链接,并指向源文件或目录链接的源文件或目录。假如没有加上这个参数,在复制过程中若遇到符号链接,则会直接复制源文件或目录

-f 或 --force 强行复制文件或目录, 不论目的文件或目录是否已经存在

-i 或 --interactive 覆盖文件之前先询问用户

-l 或 --link 对源文件建立硬链接,而非复制文件

-p 或 --preserve 保留源文件或目录的属性,包括所有者、所属组、权限与时间

-P 或 --parents 保留源文件或目录的路径,此路径可以是绝对路径或相对路径,且目的目录必须已经丰在

-r 递归处理,将指定目录下的文件与子目录一并处理。若源文件或目录的形态,不属于目录或符号链接,则一律视为普通文件处理

-R 或 --recursive 递归处理,将指定目录下的文件及子目录一并处理

-s 或 --symbolic-link 对源文件建立符号链接,而非复制文件

-S <备份字尾字符串> 或 --suffix=<备份字尾字符串> 用"-b"参数备份目的文件后,备份文件的字尾会被加上一个备份字符串。默认的备份字尾符串是符号"~"

-u 或 --update 使用这项参数之后,只会在源文件的修改时间(Modification Time)较目的文件更新时,或是名称相互对应的目的文件并不存在,才复制文件

-v 或 --verbose 显示执行过程

-V <备份方式> 或 --version-control=<备份方式> 指定当备份文件时,备份文件名的命名方式,有以下3种:

1.numbered或t, 将使用备份编号,会在字尾加上~1~字符串,其数字编号依次递增

2.simple或never 将使用简单备份,默认的备份字尾字符串是~, 也可通过-S来指定

3.existing或nil将使用当前方式,程序会先检查是否存在着备份编号,若有则采用备份编号,若无则采用简单备份

-x 或 --one-file-system 复制的文件或目录存放的文件系统,必须与cp指令执行时所处的文件系统相同,否则不复制,亦不处理位于其他分区的文件

 

环境变量、PATH

which 查看命令和别名、是依赖环境变量等于一个库

PATH是一个变量、要跑命令都在要依赖/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin这里面有才能跑,

如果你要赋值一个命令你就必须要在它这库这里让它认识才行,PATH=$PATH:/tmp这样就在PATH里加了/tmp,不过这样只是单台在PATH里添加/tmp、如果要在PATH里完全添加/tmp进环境变量里需要vi etc/profile,在里面输入PATH=$PATH:/tmp/、编译完后就按ESC在按:wq保存退出就好了

配置完后可以通过echo $PATH查看配置结果。

这样启动一个新窗口也会有/tmp在环境变量里、如果不想要可以重新赋值一下APTH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin这样/tmp就不生效了

 

mv

mv在目标在目录时候相当于改名

houmu$ mv yonxi/ yonxilyx、再次打ls你就会发现yonxi改成了yonxilyx

你在honmu的xinyue下已有i这文件、你在mv进houmu的xinyue则会问你要不要覆盖文件如下

yonhdeMacBook-Pro:xinyue houmu$ mv l ~houmu/xinyue/override rw-r--r-- root/wheel for /Users/houmu/xinyue/l? (y/n [n])

/usr/bin/mv l ~houmu/xinyue/如果不需要询问你要不要覆盖就可以打绝对路径、这样就不在询问了

mv可以说成搬家吧这个文件放到哪个文件那里、和cp很像

文档查看

cat 查看文件

tac 倒叙查看文件的内容

cat- A 文件里会有$这个表示文件的行尾结束符

cat -n 显示有多少行号

more 不会全部显示出来、一屏一屏的显示出来按空格往下看、当然也可以往上看按ctrl+b

less 和more差不多、可以一屏一屏的看ctrl+b也可以往前ctrl+f往后、也支持方向键查看按q退出

/可以搜索输入你需要找的字符串、

按n往下查找你要找的字符串往下看、

按shift+N往上查看字符串 、

g定位首行、G末行

?字符串:向上搜索"字符串"的功能

head 查看文件的头十行(默认指定)

tail 查看后十行(默认指定)

tail-f 动态的时候看、看日志的时候会用到

所属组

每个文件都有所有者,所属组和其他人,而每一位都是有对应的权限的,这样的设计目的试问了保证隐私和文件的安全,所有者对应的是u,所属组对应的是g,其他人对应的是o,而每个文件针对每一类访问者都有三种基本权限:r:Readable;w:Writable;x:eXcutable,通过对三类访问者设定不同的rwx值就可以控制访问者对文件的权限。

无论是对于文件还是目录,都是有rwx权限,但是,目录的rwx权限却和文件的rwx权限是不一样的,此外对于目录的设置还有一个X权限,rwx权限所对应的数字意义:

--- 000 0

--x 001 1

-w- 010 2

-wx 011 3

r-- 100 4

r-x 101 5

rw- 110 6

rwx 111 7

 

-rw-r--r-- 1 root wheel 0 5 13 11:22 l

(如上面)所有者可读可写不可执行、所属组只可读、5 13 11:22(日期)

第一个root是所有者、wheel是所有组

现在我把x这个文件修改成所有者可读可写可执行(rwx 777)全都有权限如下

chmod 700 x

drwx------ 4 root wheel 136 5 13 12:37 xinyue

如果想把目录及目录下的子文件批量修改权限、在这里需要用到大R、-R表示这个文件下所有包括目录统一修改权限

chmod -R 770 x

-rwxrwx--- 1 houmu staff 0 5 13 10:42 x

a+x给全部加上x权限、a-x去掉全部x权限如此类推+rwx都一样的

清空权限

chmod 700 [文件名]

等价于 chmod 777

chmod oug+xrw [文件名]

等价于 chmod 000

chmod oug-xrw [文件名]

更改所有者

yonhdeMacBook-Pro:xinyue houmu$ sudo chown root oPassword:yonhdeMacBook-Pro:xinyue houmu$ lso i l x xinyueyonhdeMacBook-Pro:xinyue houmu$ ls -ld odrwxr-xr-x 2 root staff 68 5 13 13:14 o

以上吧dio的所有者原houmu更改成了root

chown root:houmu o 修改所有者为root,所属组为houmu 后面跟文件名

rwxr-xr-x 2 root houmu 68 5 13 13:14 o

umask

umask命令用来设置限制新建文件权限的掩码。当新文件被创建时,其最初的权限由文件创建掩码决定。用户每次注册进入系统时,umask命令都被执行, 并自动设置掩码mode来限制新文件的权限。用户可以通过再次执行umask命令来改变默认值,新的权限将会把旧的覆盖掉。

概念:默认情况下,目录的权限制是755;普通文件的权限制为644.

umask值 目录 文件

022 755 644

027 750 640

002 775 664

006 771 660

007 770 660

如果想要改变umask值,只要使用umask命令设置一个新的值即可:$ umask 002

修改umask的值 输入:umask 024,则可直接修改以后新建的目录和文件的默认权限为:553,642

umask对应的配置文件 umask的配置文件为:/etc/profile 或 ~/.profile 或 ~/.bask_profile,修改这些文件里的umask值,则umask的值会长期不变。

umask命令的作用 在终端输入:umask,可以看到输出为:0022

默认的umask的值为0022 我们在/home目录下分别新建一个目录aaa,一个文件111,输入命令ls-l

ls -ltotal 8-rw-r--r-- 1 houmu staff 0 7 31 00:27 111-rw-r--r-- 1 houmu staff 3022 7 29 02:21 Vagrantfiledrwxr-xr-x 2 houmu staff 68 7 31 00:37 aaa

目录a权限为:755,文件a.c权限为:644

可知:umask的作用是:设置新建文件和目录的默认权限。

1 umask和chmod的关系 umask的值共有4位,分别代表:gid/uid,属主,组权,其它用户权限。一般用的是后3位。 umask设置的是权限“补码”:如上umask值为022,则对应目录权限为7-0=7,7-2=5,7-2=5,即用777减去umask的相应位上的值;而对应的文件权限是用666减去umask的相应位上的值。 chmod设置的就是目录和文件的直接权限。

2 修改umask的值 输入:umask 024,则可直接修改以后新建的目录和文件的默认权限为:553,642。3 umask对应的配置文件 umask的配置文件为:/etc/profile 或 ~/.profile 或 ~/.bask_profile,修改这些文件里的umask值,则umask的值会长期不变。

 

 

转载于:https://my.oschina.net/u/3851166/blog/1919929

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值