软硬链接:

硬链接:i节点相同, 实际是同一个文件,删除其中一个不影响两外一个,不能跨分区,不能针对目录使用

1
ln xxx aaa	

软连接:删除链接不影响源文件,删除原文件不能通过链接访问文件,类似于win快捷方式,

做软连接 源文件地址必须是绝对路径,不写绝对路径默认是别的的是软连接所在目录

1
ln -s xxx aaa

搜索命令

locate

1
2
locate //只能搜索文件名
find //资源耗费比较多

locate 搜索

数据库(位置(ubuntu):/var/lib/mlocate不同的系统名字数据库不一样)

1
sudo updatedb //更新数据库

搜索规则配置文件:

1
/etc/updatedb.conf

whereis

搜索系统命令位置、及其帮助文档

1
2
-b 命令位置
-m 帮助文档的位置

which

搜索系统命令位置、及其别名

find

搜索文件 【范围】 【搜索条件】

使用通配符进行模糊搜索

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
*  匹配所有内容
? 匹配人一个字符
[] 匹配扩号内任意一个字符

-iname 不区分大小写
-user xx 按所有者搜索
-nouser 查找没有所有者的文件(内核文件,外来文件否则就是垃圾文件)
-mtime +10 +10 查找十天前修改的文件 -10 十天内... 10 十天当天...
-actime 文件访问时间  -ctime 改变文件属性 -mtime 修改文件内容
-size 25k  查找大小是25k的文件, 单位:k小写 M大写,不写默认为数据块
-inum 262422 查找i节点是xxx的文件
-a 逻辑与
-o 逻辑或
-exec ...进行对应操作 {} \;

grep

使用正则表达式匹配

帮助命令

man

man xxx(命令) 获取命令的帮助选项

1
2
man -f  xxx命令 可以查看等级      相当于wharis 
man -k xxx  帮助文档中含有xxx 关键字的命令的帮助文档

xxx –help

含中文

help

shell 内部命令

info

一个巨大的帮助文档,不常用

1
-u  -n -p -q

压缩解压缩命令

.zip .gz .bz2 .tar.gz .tar.bz2

zip upzip

压缩完不一定比压缩前小

1
2
zip xxx zzz 可不带扩展名,但最好带上方便阅读zzz->xxx
zip -r xxx  zzz 压缩文件夹

gzip

1
2
3
4
5
6
gzip xxx 源文件会消失
gzip -c xxx > zzz 不消失
gzip -r xxx 压缩文件夹中的子目录
gzip -d
gunzip xxx 解压缩
gunzip -r 目录

bzip2

不能压缩目录

1
bzip -k 保留原文件

tar

打包命令

1
2
3
4
5
6
7
8
9
-c: 打包
-v:显示过程
-f: 指定打包后的文件名
-x: 解打包命令
-z: 压缩为.tar.gz
-j: 压缩为.tar.bz2
-c:压缩
-x: 解压缩
-t: 测试  只查看不解压

关机重启命令

shutdown

命令比较安全

1
2
3
-c
-h
-r

其他关机命令

1
2
3
4
5
//不安全
halt 
poweroff
init 0
init 6 重启

runlevel

查看当前系统运行级别

1
cat /etc/inittab 级别说明

logout

正确断开连接

挂载命令

mount

查看当前挂载的分区

1
2
3
4
/etc/fstab 开机自动自动挂载程序命令文件
-a 依据上面文件自动挂载
-t 文件系统 iso9600(光盘)ext3 ext4
-o 特殊操作 可google

挂载光盘:

1
2
3
mkdir /mnt/cdrom
#-t 可省略
mount -t iso9660 /dev/sro /mnt/cdrom 

卸载:

1
umount 设备文件名 or 挂载点

挂载优盘:

1
2
3
4
5
fdisk -l 查看当前的设备
# vfat指的是fat32 
# Linux不支持NTFS  Linux 可装ntfs -3g  读ntfs分区不可写 
# sdb1是设备名字  不确定需根据第一条命令判断
mount -t vfat /dev/sdb1 /mnt/usb/

用户登录查看

w

1
2
3
4
w
16:19:26 up  6:23,  1 user,  load average: 3.39, 3.74, 3.98
USER     TTY      来自           LOGIN@   IDLE   JCPU   PCPU WHAT
kongqi   :0       :0               10:01   ?xdm?   2:25m  0.00s /usr/lib/gdm3/gdm-x-session --run-script env GNOME_SHELL_SESSION_MODE=ubuntu gnome-session --session=ubuntu

who

1
2
who
kongqi   :0           2019-03-28 10:01 (:0)

last

查看的是/var/log/wtmp文件

历史登录用户信息、系统重启时间

lastlog

查看的是/var/log/lastlog文件

所有用户的历史登录信息

其他

echo

1
2
#支持反斜杠调整的输出格式\t \n \b...  十六进制  颜色输出  
echo -e 

shell概述

alias

别名优先级高于系统命令

1
2
3
4
5
#临时设定
alias 别名= 原名
unalias
#永久生效
修改~/.bashrc文件

快捷键

1553763076922

history

默认保存一千条,/etc/profile可修改条数

1
2
3
4
5
6
-c: 清空历史命令
-w: 将内存中的历史命令写入文件中~/.bash_history

!n
!!
!字符串 调用最后一个以字符串开头的命令

输出重定向

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
#标准输出 有空格
命令 > 文件  以覆盖的方式
命令 >> 文件 以添加的方式
#报错信息 无空格
2>文件    
2>> 

#不用区分错误还是正确
命令 > 文件 2>&1
命令 >> 文件 2>&1
#不用区分错误还是正确
命令 &> 文件 2>&1
命令 &>> 文件 2>&1
#错误日志进文件2 正确日志文件1
命令 >> 文件1 2>>文件2
#/dev/null 相当于垃圾站 输出的东西被丢弃
命令 &>/dev/null

输入重定向

wc

1
2
3
4
-c:  字节数
-w: 单词数
-l: 行数
< 输入 <可省略

多命令顺序执行

1
2
3
4
5
6
A ; B ; C 链接  多命令顺序执行 B 出现错误后不影响C执行
A && B A正确执行后才执行B
A || B A不正确执行就执行B

eg:
ls && echo yes || echo no

Test

1
mongo --quiet xxxx -u admin admin <<< "$sql" | cut -d ':' -f2- | tr ',' '\n' | sed -r 's/.*\(([0-9]+)\).*/\1/g'