目录:
2 |
查看使用过的命令历史 |
3 |
linux目录结构 |
4 |
ls命令常用选项 |
5 |
cd命令 |
6 |
显示当前目录 |
7 |
创建目录 |
8 |
显示目录结构 |
9 |
删除目录 |
10 |
创建文件 |
11 |
显示文件里的内容 |
12 |
【wc】统计文件里的行数,单词树,字节数 |
13 |
【du】查看文件所占用的磁盘空间的大小 |
14 |
【df】查看硬盘的使用情况 |
15 |
软硬连接 |
16 |
更改文件或者文件夹的权限 |
17 |
更改文件或者文件夹的所有者和用于组 |
18 |
find来查找文件 |
19 |
grep 查找内容 |
20 |
zip和unzip |
21 |
tar压缩和解压缩,tar是linux里最常用的,文件后缀为.tar.gz |
22 |
apt-get 安装 |
23 |
dpkg 安装 |
24 |
用户相关 |
25 |
时间日期 |
26 |
alias别名 |
27 |
补码(控制,创建文件后,给这个文件的默认权限):umask |
1,查看系统里预装了哪些shell
cat /etc/shells
2,查看使用过的命令历史
history
3,linux目录结构
/bin |
可执行文件目录 |
/media |
外部连接到本电脑的设备,比如U盘,光盘等 |
/mnt |
为了让用户挂载别的文件系统 |
/usr |
是unix system resources的缩写,不是user的缩写,很多应用会安装到此目录 |
/usr/local |
用户自己安装软件的目录 |
/sbin |
root用户可以使用的可执行文件的目录 |
/proc |
系统内存的映射,会保留进程运行的一些信息 |
/etc |
系统软件的启动和配置目录 |
/dev |
linux把所以电脑的设备虚拟化成文件,这里放的是虚拟化后的文件,黄色的代表机器里的各种设备,比如sda1代表硬盘。 |
4,ls命令常用选项
-l |
能够显示详细信息 |
-a |
显示隐藏文件,也就是以.开头的文件或者文件夹 |
-R |
如果文件夹里还有文件夹,就会把所有子文件夹里文件都显示出来 |
-lrt |
按更新时间的升序显示 |
5,cd命令
回到家目录的几种方式
6,显示当前目录
pwd
7,创建目录
mkdir aa
- 创建有子目录的(bb是不存在的,如果不加-p是无法创建成功的)
mkdir -p bb/cc
8,显示目录结构
tree
9,删除目录
rm -r 目录
10,创建文件
如果文件不存在,则直接创建文件;如果已经存在了,则更新文件的更新时间,可以用【ls -lrt】命令验证
touch 文件1 文件2
11,显示文件里的内容
- 当文件内容比较少,一个屏能显示全的时候使用cat
- 当文件内容比较多,一个屏能显示不全的时候使用more
? 回车:一行一行向下移动
? 空格:一屏一屏向下移动
? 不方便的地方:不能向上移动
- 当文件内容比较多,一个屏能显示不全的时候使用less
? 回车/上下箭头:一行一行向上/下移动
? 空格:一屏一屏向下移动
? 方便的地方:能向上移动
? 默认显示10行。-n 行数:可以指定显示的行数
? 默认显示10行。-n 行数:可以指定显示的行数
? -f : 可以一直监视日志文件的末尾增加的行
12,【wc】统计文件里的行数,单词树,字节数
- -l :统计函数
- -w:统计单词书
- -c :统计字节数
13,【du】查看文件所占用的磁盘空间的大小
- -h 对人类友好的表示方式。
- --max-depth=1 不看子目录,不加的话,会把所有子目录也都列出来。
14,【df】查看硬盘的使用情况
15,软硬连接
- 硬连接:增加对磁盘文件的引用计数
- 软连接:不增加对磁盘文件的引用计数,相当于windows里的快捷方式。
- 不管修改哪个连接里的文件内容,其他连接都是共有修改后的内容。
- 增加硬连接(只可以增加文件的硬链接):ln src des
- 增加软连接(既可以增加文件的软链接,可以增加文件夹的软链接):ln -s src des
- 删除软硬连接:unlink des 或者 rm des
16,更改文件或者文件夹的权限
-rw-r--r-- 1 ys ys 8980 9月 9 2018 examples.desktop
drwxr-xr-x 2 ys ys 4096 9月 9 2018 Videos
-rwxr-xr-x 1 ys ys 28792 4月 18 10:57 a.out
第一位或者是【d】或者是【-】。【d】代表是文件夹;【-】代笔是文件
-
【rwx】【rw-】【r--】等的含义。
r:可以读取;
w:可以修改;
x:可以执行
【rwx】:可以读取,可以修改,可以执行。
【rw-】:可以读取,可以修改,不可以执行。
【r--】:可以读取,吧可以修改,不可以执行。
第一组【---】:代表自己。
第二组【---】:代表自己所在的组。
第三组【---】:代表其他人。
数字表示法:rws代表 111,111的十进制数字为:7
数字表示法:rw-代表 110,111的十进制数字为:6
数字表示法:r--代表 100,111的十进制数字为:4
数字表示法:-w-代表 010,111的十进制数字为:2
数字表示法:--x代表 001,111的十进制数字为:1
chmod [u|g|o|a] [+|-][r|w|x] filename
- u:自己
- g:自己所在的组
- o:别人
- a:包括u,g,o
- +:赋予权限
- -: 删除权限
chmod 777 filename //自己,组,别人:都有读写和执行的权限
chmod 640 filename //自己:可以读写,但不能执行;组:只可以读;别人:不能读写,不能执行
文件夹的x代表,可以cd进去这个文件夹,否则不可以cd进入这个文件夹。
17,更改文件或者文件夹的所有者和用于组
-rw-r--r-- 1 ys ys 8980 9月 9 2018 examples.desktop
drwxr-xr-x 2 ys ys 4096 9月 9 2018 Videos
-rwxr-xr-x 1 ys ys 28792 4月 18 10:57 a.out
- 第一个ys:代表这个文件或者文件夹属于谁。
- 第二个ys:代表这个文件或者文件夹属于哪个组。
chown new_user:new_group filename
chown new_user filename
可以看出来,chown即可改用户也可以改变组。
chgrp new_group filename
可以看出来,chgrp只能改变组。
18,find来查找文件
-
按照名字查找 【-name】,在路径【/home/ys】下(它下面的子目录也查找),查找名字为【src.h】的文件
find /home/ys -name "src.h"
-
按照类型来查找【-type】,在路径【/home/ys】下(它下面的子目录也查找),查找类型为【f】的文件。
类型f:普通文件;类型d:文件夹
find /home/ys -type f
-type c
File is of type c:
b block (buffered) special
c character (unbuffered) special
d directory
p named pipe (FIFO)
f regular file
l symbolic link; this is never true if the -L option or the -follow option
is in effect,unless the symbolic link is broken. If you want to search
for symbolic links when -L is in effect,use -xtype.
s socket
D door (Solaris)
-
按照文件的大小来查找【-size】,在路径【/home/ys】下(它下面的子目录也查找),查找文件大小为大于1M并且小于5M的文件。不写【+】【-】代表等于
find /home/ys -size +1M -size -5M
-size n[cwbkMG]
File uses n units of space,rounding up. The following suffixes can be used:
`b' for 512-byte blocks (this is the default if no suffix is used)
`c' for bytes
`w' for two-byte words
`k' for Kibibytes (KiB,units of 1024 bytes)
`M' for Mebibytes (MiB,units of 1024 * 1024 = 1048576 bytes)
`G' for Gibibytes (GiB,units of 1024 * 1024 * 1024 = 1073741824 bytes)
-
只在当前目录查找,不查找子目录,【-maxdepth 1】,注意:要放到-size前面
find /home/ys -maxdepth 1 -size +1M -size -5M
-
find出来的结果是没有文件的详细信息,想看详细信息怎么办呢
-
使用下面的固定写法,注意:ls -l是可以替换成别的命令,比如[rm -f],把查找出来的文件删除掉,但是直接删除很文件,所以可把【-exe】替换成【-ok】,这样就会把查找出来的结果一条一条的让你确认是否要删除,输入【y】代表删除,输入【n】代表不删除。
find ./ -maxdepth 2 -size +1M -exec ls -l {} ;
-
使用管道,并加上【xargs】
find ./ -maxdepth 2 -size +1M | xargs ls -l
[exec]和[xargs]哪个好呢,推荐使用[xargs]。如果find出来的结果过于多的话,[exec]直接把所有结果都传给后面的命令(比如ls -l),会导致后面的命令崩溃掉;然而[xargs]会把find的结果进行分块,就保证了后面的命令不会崩溃。
-
grep 内容过滤,把find的结果再过滤一下,比如只想看find结果(打印到屏幕的纯文本结果作为grep的输入)里,文件名字里有txt的文件
find ./ -maxdepth 2 -size +1M | grep txt
例子:grep后的结果是把f.txt过滤出来了
[email?protected]:~/aa$ ls
11 22 33 aa1 f.txt
[email?protected]:~/aa$ find ./ -type f | grep txt
./f.txt
[email?protected]:~/aa$
-
grep 内容过滤,把find的结果再过滤一下,比如只想看find结果(文件列表作为grep的输入)里,文件内容里有abc的文件
find ./ -maxdepth 2 -size +1M | xargs grep abc
例子:grep后的结果是没有把f.txt过滤出来,而是把11和22过滤出来了,因为11和22的文件内容里有【txt】
[email?protected]:~/aa$ ls
11 22 33 aa1 f.txt
[email?protected]:~/aa$ find ./ -type f |xargs grep txt
./11:txt
./22:txt
[email?protected]:~/aa$ cat 11
txt
[email?protected]:~/aa$ cat 22
txt
[email?protected]:~/aa$ cat f.txt
[email?protected]:~/aa$
19,grep 查找内容
grep [option] 要查找的内容 dir或者filename
20,zip和unzip
21,tar压缩和解压缩,tar是linux里最常用的,文件后缀为.tar.gz
- z:gz格式的压缩和解压缩
- j:bzip2格式的压缩和解压缩
- c:压缩
- x:解压缩
- v:显示信息
- f:指定压缩包的名字
例子:把文件夹aa和文件a.out压缩成bb.tar.gz
tar zcvf bb.tar.gz aa/ a.out
例子:解压缩bb.tar.gz到当前目录
tar zxvf bb.tar.gz
22,apt-get 安装
- apt-get update :更新 /etc/apt/sources.list这个文件
- apt-get install mongdb:安装mongdb
- apt-get remove mongdb:卸载mongdb
- apt-get clean:清理
23,dpkg 安装
- dpkg -i mongd.deb :安装mongdb
- dpkg -r mongd.deb:卸载mongdb
24,用户相关
25,时间日期
-
date命令
date +'%Y/%m/%d'
输出结果:2019/04/21
%a locale's abbreviated weekday name (e.g.,Sun)
%A locale's full weekday name (e.g.,Sunday)
%b locale's abbreviated month name (e.g.,Jan)
%B locale's full month name (e.g.,January)
%c locale's date and time (e.g.,Thu Mar 3 23:05:25 2005)
%C century; like %Y,except omit last two digits (e.g.,20)
%d day of month (e.g.,01)
%D date; same as %m/%d/%y
%e day of month,space padded; same as %_d
%F full date; same as %Y-%m-%d
%g last two digits of year of ISO week number (see %G)
%G year of ISO week number (see %V); normally useful only with %V
%h same as %b
%H hour (00..23)
%I hour (01..12)
%j day of year (001..366)
26,alias别名
-
输入【ls -lrt】是不是很繁琐,可以用alias把【ls -lrt】简单化成【ll】
[email?protected]:~$ alias
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
alias l='ls -CF'
alias la='ls -A'
alias ll='ls -lrt'
alias ls='ls --color=auto'
-
修改.bashrc文件,添加:【alias ll=‘ls -lrt‘】,然后使用下面的命令,之后当敲ll时,实际执行【ls -lrt】
source .bashrc
27,补码(控制,创建文件后,给这个文件的默认权限):umask
0002 取反后得到 0775 再 & 666 后,得到664,所以,
创建文件后,这个文件的默认权限就时664(rw-rw-r--)