1.帮助命令
man 命令
/【要搜索的内容】
man的级别
1 查看命令的帮助
2 查看可被内核调用的函数的帮助
3 查看函数和函数库的帮助
4 查看特殊文件的帮助(主要是/dev目录下的文件)
5 查看配置文件的帮助
6 查看游戏的帮助
7 查看其他杂项的帮助
8 查看系统管理员可用命令的帮助
9 查看和内核相关文件的帮助
查看命令拥有哪个级别的帮助
man -f 命令
等同于whatis 命令
比如man -f passwd
会看到passwd
命令有个配置文件,所以用man 5 passwd
可以看到这个配置文件的帮助,用whereis passwd
可以看到文件所在位置
查看所有包含关键字的命令
man -k 关键字
等同于apropos 关键字
,如apropos passwd
2.别名与快捷键
查看与设定别名
alias
查看系统中所有的命令别名alias 别名=‘原命令‘
设定命令的别名
如alias rm=‘rm -i‘
或者alias ll=‘ls -l‘
相当于设置快捷命令,只不过是临时生效的
别名永久生效与删除别名
vi ~/.bashrc
写入环境变量配置文件unalias
临时删除别名
常用快捷键
快捷键 | 含义 |
---|---|
ctrl+c |
强制终止当前命令 |
ctrl+l |
清屏 |
ctrl+a |
光标移动到命令行首 |
ctrl+e |
光标移动到命令行尾 |
ctrl+u |
光标所在位置删除到行首 |
ctrl+z |
把命令放入后台 |
ctrl+r |
在历史命令中搜索 |
3.常用目录作用
/
根目录/bin
命令保存目录(普通用户就可以读取命令)/sbin
/usr
系统软件资源目录/boot
启动目录,启动相关文件/dev
设备文件保存目录/etc
配置文件保存目录/lib
系统函数库保存目录/mnt
系统挂载目录/media
挂载目录/sys
/proc
保存内存挂载点,不能直接操作/tmp
临时目录,存放临时数据/var
保存系统可变文档目录
/usr
下也有/bin
和/sbin
目录,同/
下的两个目录一起保存系统命令,/sbin
下的命令只有超级用户才能执行
可以在家目录‘/home‘或根目录/
,以及/tmp
目录下随便放内容,其他都别动,但也不推荐在根目录下操作,只放必要数据
4.挂载命令
相当于win中的分配盘符,只不过linux中叫挂载
查询与自动挂载
mount
查询系统中已经挂载的设备
- 显示的都是
~ on ~ type ~
这样的结构 - 如
/dev/sda5 on / type ext4 (rw)
其中sda5
代表第一块SATA硬盘的第五个分区,/
代表这是根分区,ext4
代表文件系统是ext4,权限是读写; - 类似的,
/dev/sda1 on /boot type ext4 (rw)
代表第一块SATA硬盘的第一个分区是boot分区,文件系统是ext4,权限是读写
mount -a
依据配置文件/etc/fstab
的内容,把这个文件里写的所有设备都挂载一遍,像/,/boot,/home,swap
这些分区都在文件里,所以系统才会在每次开机时自动挂载这些分区
挂载命令格式
mount【-t文件系统】【-o特殊选项】设备文件名 挂载点
-t 文件系统
加入文件系统类型来指定挂载的类型,可以ext3,ext4,iso9660等文件系统-o 特殊选项
可以指定挂载的额外选项,有各种参数,可多个一起,用逗号隔开
特别看下这个exec/noexec
,代表执行/不执行,设定是否允许在文件系统中执行可执行文件,默认是exec文件
比如mount -o remount,noexec /home/
表示重新挂载/home
分区,并且不允许执行可执行文件,此时如果再去./hello.sh
会显示权限不够
5.关机和重启命令
关机命令
shutdown 【选项】时间
-c
取消前一个关机命令-h
关机-r
重启
- 使用
date
命令看系统日期 shutdown -r 05:30
表示在凌晨5点30分重启,此时进入倒计时状态,无法再操作,通过ctrl+c
取消。- 在最后加上
&
,使命令在后台执行,不占用操作界面,两次回车后继续自己的操作。此时如果不想在后台执行这条命令,可以用shutdown -c
来取消。 shutdown -r now
表示现在就重启。- 在远程登录服务器时要避免使用这个命令!
其他关机命令
halt
poweroff
init 0
但这三者都不太安全
其他重启命令
reboot
比较安全init 6
不安全
这里的0和6是什么意思?
代表系统运行的七个级别
0 关机
1 单用户,可以看做win中的安全模式,用来做系统修复
2 不完全多用户,不含NFS服务(文件共享服务)
3 完全多用户,就是黑底白字的字符界面
4 未分配
5 图形界面
6 重启
init表示调用某个级别
使用runlevel
来看系统到底运行在哪个级别,Mac OS不支持
通过cat /etc/inittab
找到文件中的id:3:initdefault
字段,修改数字,改变系统开机默认级别。但绝对不能设为0和6。
退出登录命令
logout
6.管道符
多命令顺序执行
多命令执行符 | 格式 | 作用 |
---|---|---|
; | 命令1 ; 命令2 | 多个命令顺序执行,命令之间没有任何逻辑联系 |
&& | 命令1 && 命令2 | 逻辑与,命令1正确执行才会执行命令2,命令1不正确执行,则命令2不会执行 |
shift+\shift+\ | 命令1 shift+\shift+\ 命令2 | 逻辑或,当命令1执行不正确,则命令2才会执行,当命令1正确执行,则命令2不会执行 |
*其中,shift+\
意味着|
例如:date ; tar -zcvf etc.tar.gz /etc ; date
可以计算中间打包压缩命令执行的耗时
再如,ls && echo yes || echo no
,第一个命令正确执行,输出yes,错误执行,输出no
管道符
命令格式:命令1 | 命令2
,有一定的编程思想在里面 命令1的正确输出作为命令2的操作对象,和逻辑与不一样
例子:
ls -l /etc | more
代表将ls -l /etc
的输出分屏显示netstat -an | grep ESTABLISHED
代表搜索netstat -an
输出中带有ESTABLISHED的行
如果再变成netstat -an | grep ESTABLISHED | wc -l
,此为多管道符命令,代表到最后统计带有ESTABLISHED的行的数目,即可看出服务器上连接了多少人- 如果原本使用
cat
输出的内容中有很多重复,可在后面加上|uniq
去重
7.脚本的执行方法
echo输出命令
echo【选项】【输出内容】
如echo "cangls he bols ni xi huan na yi ge?"
只要输出的内容里有空格就需要加双引号
选项-e
,表示支持反义字符
echo所能支持的反义字符(也可以用在Python里)
反义字符 | 作用 |
---|---|
\a | 输出警告音 |
\b | 退格键,也就是向左删除键 |
\n | 换行符 |
\r | 回车键 |
\t | 制表符,也就是Tab键 |
\v | 垂直制表符 |
\0nnn | 按照八进制ASCⅡ码表输出字符。其中0为数字零,nnn是三位八进制数 |
\xhh | 按照十六进制ASCⅡ码表输出字符。其中hh是两位十六进制数 |
举个例子:echo -e "\x68\x65\x6c\x6c\x6f"
,手动输入字符的十六进制ASCⅡ码值,输出就是hello
Linux本机的纯字符界面是不支持中文的!
另外,在XShell这样的远程工具界面上是可以支持颜色显示的,如echo -e "\e[1;31m 嫁人就要嫁凤姐 \e[0m"
,其中的\e[1;31m
是开启颜色,\e[0m
是关闭颜色,31m
表示红色,可以支持的颜色从30到37
第一个脚本
vim hello.sh
#!/bin/bash
#注释
echo -e "\e[1;34m 天上掉下个林妹妹 \e[0m"
脚本执行
- 赋予执行权限,调用脚本
chmod 755 hello.sh
./hello/sh
#相对路径 - 通过Bash直接执行脚本
bash hello.sh
8.历史命令
历史命令
history 【选项】【历史命令保存文件】
选项:-c
清空历史命令-w
把缓存中的历史命令写入历史命令保存文件~/.bash_history
历史命令默认会保存1000条,可以在环境变量配置文件/etc/profile
中进行修改HISTSIZE=1000
历史命令的调用
- 使用
上下箭头
调用以前的历史命令 - 使用
!n
重复执行第n条命令 - 使用
!!
重复执行上一条命令 - 使用
!字串
重复执行最后一条以该字串开头的命令
命令与文件补全
在Bash中,命令与文件补全是非常方便与常用的功能我们只要在输入命令或文件时,按Tab
键就会自动进行补全
9.链接命令
链接命令
ln -s 【原文件】【目标目录】
功能是生成链接文件-s
创建软链接
硬链接的特征
- 硬链接拥有相同的i节点和存储block块,可看做是同一个文件
- 可通过i节点识别
- 不能跨分区
- 不能针对目录使用
ln desktop/Learning_Python/hello_world.py documents/hello_world.hard
ls -l desktop/Learning_Python/hello_world.py
-rw-r--r-- 2 Jeff staff 3379 3 14 10:30 desktop/Learning_Python/hello_world.py
ls -l documents/hello_world.hard
-rw-r--r-- 2 Jeff staff 3379 3 14 10:30 documents/hello_world.hard
ls -i desktop/Learning_Python/hello_world.py documents/hello_world.hard
2231081 desktop/Learning_Python/hello_world.py
2231081 documents/hello_world.hard
软链接的特征
- 类似于win下的快捷方式
- 软链接拥有自己的i节点和block块,但数据块中只保存原文件的文件名和i节点号,并没有实际的文件数据
Irwxrwxrwx
I
软链接 软链接文件的权限都是rwxrwxrwx
- 修改任意文件,另一个都改变
- 删除原文件,软链接不能使用
10.命令格式
[root@localhost ~]#
root
段代表当前用户,localhost
是主机名
如果是超级用户,当前目录为/root
根目录,如果是普通用户user1,则为/home/user1
#
表示当前用户位超级用户,$
则为普通用户
格式:命令 【选项】【参数】
查询目录内容命令
ls 【选项】【目录/文件】
ls -l ~/desktop
[email protected] 3 Jeff staff 102 3 8 11:08 $RECYCLE.BIN
drwxr-xr-x 6 Jeff staff 204 4 9 16:13 A*算法
drwxr-xr-x 10 Jeff staff 340 4 9 16:14 Learning_Python
-rw-r--r-- 1 Jeff staff 1441 3 30 11:43 SSH设置
-rw-r[email protected] 1 Jeff staff 48640 3 8 11:08 Thumbs.db
drwxr-xr-x 10 Jeff staff 340 4 9 18:07 myBooks
drwxr-xr-x 10 Jeff staff 340 4 10 11:02 毕业规范
-rw-r[email protected] 1 Jeff staff 6313 4 8 21:36 实习小结.md
-l
显示详细信息
权限10位 -rw-r—r—
第1位代表文件类型: -文件 d目录 l软链接文件rw-
u所有者 班级r--
g所属组 美眉r--
o其他人 大老爷们傻和尚r
读 w
写 x
执行
3,6,10这些数字代表引用计数
102,204,340这些数字代表字节大小,改用ls -lh
就变成kB,易于阅读
ls -a ~/desktop
$RECYCLE.BIN .DS_Store Learning_Python myBooks
. .localized SSH设置 毕业规范
.. A*算法 Thumbs.db 实习小结.md
-a
显示所有文件,包括隐藏文件-la
详细显示所有文件
ls -ld ~/desktop
drwx------+ 12 Jeff staff 408 4 10 17:07 /Users/Jeff/desktop
-d
显示目录属性-ld
详细显示目录属性
对目录如果没有w权限,即使里面的文件有写权限,也不能对文件进行移动,重命名操作,此时,需要给目录加上w权限:chmod +w
(注意此时cwd是此目录)