Linux自学笔记

1.命令解析器

shell---unix操作系统

bash---Linux操作系统  (bash :Bourne Again shell) 这个人把shell改写适配到linux

2.linux快捷键

命令或路径补齐:

tab键入一次,自动补齐

如果不能自动补齐,即已输入部分不足以确定唯一的命令,这时候键入两次,即可输出所有相关命令

主键盘快捷键:

历史命令:history

向上遍历:CTRL+P(或者↑)

向下遍历:CTRL+N(或者↓)

光标:

向左:CTRL+B(或者←)

向右:CTRL+F(或者→)

左移动到头:CTRL+A

右移动到尾:CTRL+E

删除光标前边所有字符:CTRL+U

3.Linux系统目录结构

详见https://www.runoob.com/linux/linux-system-contents.html

4.用户目录

绝对路径:从根目录写起 /home/william/aa

相对路径:相对于当前工作目录而言

.   当前目录

..   上级目录

-   两个临近的目录切换  cd - 

ubuntu@VM-8-17-ubuntu:/home/lighthouse$   ==》当前登录用户@主机名:当前目录$

有时候当前目录会有~,这个波浪线表示当前用户的家目录

有时候$会变成#,表示当前用户为超级用户

cd命令可以直接切换到用户的家目录

5.文件和目录操作

查看目录

tree命令  (必须安装该软件才可以使用这个命令)

ls命令 

ls 查看文件(不包含隐藏)

ls -a 查看所有文件(包括隐藏的)

ls -l 查看文件详细信息

第1字段: 文件属性字段

-rw-r--r-- 1 root root 762 07-29 18:19 exit

文件属性字段总共有10个字母组成;第一个字符代表文件的类型。

字母“-”表示该文件是一个普通文件

字母“d”表示该文件是一个目录,字母"d",是dirtectory(目录)的缩写

注意:目录或者是特殊文件,这个特殊文件存放其他文件或目录的相关信息

字母“l”表示该文件是一个链接文件。字母"l"是link(链接)的缩写,类似于windows下的快捷方式

字母“b”的表示块设备文件(block),一般置于/dev目录下,设备文件是普通文件和程序访问硬件设备的入口,是很特殊的文件。没有文件大小,只有一个主设备号和一个辅设备号。一次传输数据为一整块的被称为块设备,如硬盘、光盘等。最小数据传输单位为一个数据块(通常一个数据块的大小为512字节)

字母为“c”表示该文件是一个字符设备文件(character),一般置于/dev目录下,一次传输一个字节的设备被称为字符设备,如键盘、字符终端等,传输数据的最小单位为一个字节。

字母为“p”表示该文件为命令管道文件。与shell编程有关的文件。

字母“s”表示该文件为sock文件。与shell编程有关的文件。

在此重申下文件链接这个重要概念:

链接文件的概念类似于windows里的快捷方式。多个连接文件同时指向一个“源文件”。链接文件分为硬链接或符号链接两种。

硬链接:同一个文件所有的文件都是等价的,操作系统不区分链接创建的先后顺序,若一个文件存在两个链接,那么除去一个文件还可以通过另外一个文件来访问该文件,也可以除去创建链接时用到的文件,但只要还有一个链接存在,就可通过该连接访问文件。

符号链接(软链接):即建立一个独立的文件,这个文件会让数据的读取指向它链接的文件内容。

第1字符的后面9个字母表示该文件或目录的权限位

r表是读 (Read) 、w表示写 (Write) 、x表示执行 (eXecute)

其中前三个表示文件拥有者的权限,中间三个表示文件所属组拥有的权限,最后三个表示其他用户拥有的权限。

比如:

-rw-r--r-- 1 root root 762 07-29 18:19 exit

表示文件的拥有者root对文件有读写权限,其他人(同组用户和其他用户只有读的权限)

另外,权限组还有一些特殊的表示法:

[root@localhost ~]# ll /usr/X11R6/bin/XFree86

-rws--x--x 1 root root 1960262 2003-02-28 /usr/X11R6/bin/XFree86

s表示这个是网络接口程序"s"是socket的缩写。该程序在运行过程中会打开一个网络接口。

其他UNIX类系统如FreeBSD中还有t权限,表示一个临时(temporary)文件

#ls -l /tmp可以看到这样的权限:drwxrwxrwt 它的最后一位是字母"t"

第2字段:文件硬链接数

-rw-r--r-- 1 root root 762 07-29 18:19 exit

如果一个文件不是目录,此时这一字段表示这个文件所具有的硬链接数,

第2字段的值为1,说明这个文件只有exit这一个文件名。即只有一个指向该链接的硬链接。

第3字段:文件(目录)拥有者

lrwxrwxrwx 1 root root 4 08-03 08:27 bexit -> exit

该字段表示此文件是属于哪个用户。linux类系统都是多用户系统,每个文件都有它的拥有者。只有文件的拥有者才具有改动文件属性的权利。当然, root用户具有改动任何文件属性的权利。对于一个目录来说,只有拥有该目录的用户,或者具有写权限的用户才有在目录下创建文件的权利

如果某一个用户因为某种原因,被删除,而该用户的文件还存在,那么用ls -l 查看该文件将显示一个代表用户存在前ID号的数字。

先创建一个用户test,将其加入wang用户组,并用su切换,使用ls –l查看文件拥有者,随即删除用户test,用root进入test家目录,查看刚刚创建的文件testing。


第三字段成了一个数字,这个数字是原test用户的ID号。因为文件系统对每个文件记录文件所有者的ID,而非用户名。

第4字段:文件(目录)拥有者所在的组

lrwxrwxrwx 1 root root 4 08-03 08:27 bexit -> exit

一个用户可以加入很多个组,但是其中有一个是主组,就是显示在第4字段的名称。

可以在useradd的时候用-g指定该用户所在的主组,用-G指定其他组

格式如下:Useradd –g 组名 用户名

第5字段: 文件所占用的空间(以字节为单位)

lrwxrwxrwx 1 root root 4 08-03 08:27 bexit -> exit

第5字段表示文件大小,如果是一个文件夹(目录),则表示该文件夹的大小。请注意是文件夹本身的大小,而不是文件夹以及它下面的文件的总大小。

很多人不能理解文件夹是一个特殊的文件的含义,这样的话理解文件夹大小的含义就比较困难了。

第6字段:文件(目录)最近访问(修改)时间

lrwxrwxrwx 1 root root 4 08-03 08:27 bexit -> exit

文件创建的时间可以通过touch命令来修改。如:

[root@localhost ~]# touch exit

可以把exit的创建时间修改为当前时间,另外,一个文件还有最后访问时间,最后修改时间等属性。

这些属性可以用ls 的其它参数显示出来。

第7字段:文件名

lrwxrwxrwx 1 root root 4 08-03 08:27 bexit -> exit

如果是一个符号链接,那么会有一个 “->" 箭头符号,后面根一个它指向的文件名

创建目录

mkdir命令

mkdir dirName

mkdir aa/bb/cc -p (必须加-p)

删除目录

rmdir命令(只能删除空目录)

rm命令 (可以删除非空目录)

rm aa -r 递归删除目录aa以及下边所有的内容

rm aa -i 删除之前会提示是否删除

创建文件

touch 命令

touch fileName 如果文件不存在就创建文件,否则就修改文件的时间,不修改内容

拷贝文件

cp命令

cp 源文件 目标文件

如果目标文件不存在,就拷贝出新的文件;否则就将目标文件的内容覆盖

拷贝目录

cp命令

cp 源目录 目标目录 -r

目标目录不存在就新建目标目录,然后将源目录下东西拷贝到目标目录;否则就直接把源目录加到目标目录内作为子目录

查看文件

cat命令

cat 文件 (文件太长的话,显示不全)

移动和改名

mv命令

mv 源文件(夹) 目标文件(夹)

如果目标不存在,就默认把源改名,

如果目标文件夹存在就移动源文件或者文件夹 

创建软连接

ln

ln -s 目标文件  软连接文件

如果想要让这个连接文件在全局可以使用,就需要在创建的时候,目标文件使用全局路径。

软连接文件的大小和连接到的文件路径字符数是对应的

创建目录的软连接和创建文件的类似

创建硬连接

ln  目标文件  硬连接文件

目录不能创建硬链接。

硬链接是创建了一个新的指向文件I-node的文件,多个硬链接就相当于有多个指向I-node的文件,但这个I-node都指向了同一块存储空间。

当创建一个新文件其实可以认为创建了一个硬链接.

注意:软连接是创建了一个指向目录地址的文件,它通过目标目录地址 来连接到

下图可发现硬链接计数是不断增加的,并且它的大小和原来文件是一致的

 

6.文件和目录属性

wc 查看文件属性

od 查看二进制文件

du 查看目录内的内容的大小

df 查看磁盘使用情况

7.文件权限,用户,用户组

查看当前用户 

whoami

修改文件权限

chmod

文字设定

chmod [who] [+|-|=] [mode]  fileName

 

who 

文件所有者:u

所属组:g

其他人:o

所有人:a

+:增加权限

-:减少权限

=:设定权限

mode

r;w;x

数字设定(数字的二进制代表权限)

chmod 765 temp  

7(111):user

6(110):group

5(101):others

 

如果是要减少权限

chmod -001 temp

为其他人减少执行权限

改变文件的所属用户或者所属组

注意:文件可以属于一个用户,但属于用户不在的其他组

chown  [owner:group] fileName

chown william 1.txt 修改文件所属用户

chown william:gruop1 1.txt 修改文件所属用户和所属的组

chgrp [group] fileName 修改组

8.查找和检索

按文件属性查找

通过文件名

find + 查找目录 + -name +"文件名"

如果文件名记不住,可以使用通配符*或者?

通过文件大小

find + 查找目录 + -size + +10k      查找大于10k 的文件

小于的话用-10k

范围的话可以这样

find ~ -size +10k -size -20k

通过文件类型

find + 查找目录 + -type + d/p/s/f...

按照文件内容

grep -r  "查找内容"  查找路径

9.压缩包管理

gzip 和 bzip2

都只能单独压缩,但bzip2 可以保留源文件,但是需要加参数

tar(底层还是用的上边两种)

参数:

c -- 创建   压缩 

x -- 释放 解压缩

v -- 显示提示信息

f -- 指定压缩文件的名

z -- 使用gzip  的方式压缩文件  .gz

j -- 使用bzip2 的方式压缩文件  .bz2

压缩:

tar zcvf 生成的压缩包的名字(xxx.tar.gz) 要压缩的文件或目录

tar jcvf 生成的压缩包的名字(xxx.tar.bz2) 要压缩的文件或目录

解压缩:

tar zxvf 要解压缩的名字(xx.tar.gz)  -C  解压到的路径

不带 -C 就解压到当前目录

jxvf同理

rar(首先安装该软件)

参数:

压缩:a,

解压缩:x

压缩:

rar a 生成的压缩文件名字(例如temp,不需要指定文件的后缀,会自动生成) 压缩的文件或者目录

解压缩:

rar x 压缩文件名 (解压缩到的目录)

不指定就加压缩到当前目录

zip(需要安装)

压缩:

zip 压缩包的名字 压缩的目录或文件

后缀名会自动的加上

解压缩:

unzip 压缩包 -d  解压缩的目录

不指定就解压到当前目录

10.进程管理

ps  aux | grep xxxx

配合管道进行过滤

注意的是过滤后的内容超过一条才算有结果,因为最后一条记录是当前管道所占用的进程,这个进程因为命令里理所当然的存在你过滤的串

11.用户管理

adduser 用户名

实际上是调用了脚本,所以不用太多参数,而是在创建过程中动态的设定一些参数

但是不能创建带大写字母的名字

useradd 

这是一个命令,需要指定一些参数

增加组

groupadd Wang

增加组内的用户,且指定使用的shell,家目录,没有就自动创建

useradd -s /bin/bash -g Wang -d /home/Wang -m Wang

设置完之后,再手动的设置密码

 

 

 

 

 

 

 

 

 

 

 

 

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值