Skip to content

Commit ab58182

Browse files
committed
2016-04-09补充bash基础命令
1 parent 683a03e commit ab58182

File tree

1 file changed

+69
-24
lines changed

1 file changed

+69
-24
lines changed

Bash.md

Lines changed: 69 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -12,38 +12,30 @@
1212
- `history`,查看所有的历史命令
1313
- `Ctrl + r`,进入历史命令的搜索功能模式
1414
- `clear`,清除屏幕里面的所有命令
15-
- `hostname`,查看当前登陆用户全名
1615
- `pwd`,显示当前目录路径(常用)
17-
- `firefox&`,最后后面的 **&** 符号,表示使用后台方式打开 firefox,然后显示该进程的 PID 值
16+
- `firefox&`,最后后面的 **&** 符号,表示使用后台方式打开 Firefox,然后显示该进程的 PID 值
1817
- `jobs`,查看后台运行的程序列表
19-
- `ifconfig`查看IP等信息(常用)
18+
- `ifconfig`查看 IP 等信息(常用)
2019
- `locate 搜索关键字`,快速搜索系统文件/文件夹(类似 Windows 上的 everything 索引式搜索)(常用)
21-
- `updatedb`,配合上面的locate,给locate的索引更新(locate默认是一天更新一次索引)(常用)
22-
- `su`:切换到 root 用户,终端目录还是原来的地方(常用)
23-
- `su -`:切换到 root 用户,其中 **-** 号另起一个终端并切换账号
24-
- `su 用户名`,切换指定用户帐号登陆,终端目录还是原来地方。
25-
- `su - 用户名`,切换到指定用户帐号登陆,其中 **-** 号另起一个终端并切换账号
26-
- `exit`,注销当前用户(常用)
27-
- `sudo 某个命令`,使用管理员权限使用命令(常用)
28-
- `passwd`,修改当前用户密码(常用)
20+
- `updatedb`,配合上面的 locate,给 locate 的索引更新(locate 默认是一天更新一次索引)(常用)
2921
- `date`,查看系统时间(常用)
3022
- `date -s20080103`,设置日期(常用)
3123
- `date -s18:24`,设置时间,如果要同时更改 BIOS 时间,再执行 `hwclock --systohc`(常用)
3224
- `cal`,在终端中查看日历,肯定没有农历显示的
3325
- `uptime`,查看系统已经运行了多久,当前有几个用户等信息(常用)
34-
- `echo "字符串内容"`,输出"字符串内容"
26+
- `echo "字符串内容"`,输出 "字符串内容"
3527
- `cat 文件路名`,显示文件内容(属于打印语句)
3628
- `cat -n 文件名`,显示文件,并每一行内容都编号
37-
- `more 文件名`,用分页的方式查看文件内容(按 space 翻下一页,按 Ctrl + B 返回上页)
29+
- `more 文件名`,用分页的方式查看文件内容(按 space 翻下一页,按 *Ctrl + B* 返回上页)
3830
- `less`文件名,用分页的方式查看文件内容(带上下翻页)
3931
- 按 **j** 向下移动,按 **k** 向上移动
4032
- 按 **/** 后,输入要查找的字符串内容,可以对文件进行向下查询,如果存在多个结果可以按 **n** 调到下一个结果出
4133
- 按 **?** 后,输入要查找的字符串内容,可以对文件进行向上查询,如果存在多个结果可以按 **n** 调到下一个结果出
42-
- `tail -200f 文件名`查看文件被更新的新内容尾200行,如果文件还有在新增可以动态查看到(一般用于查看日记文件)
34+
- `tail -200f 文件名`查看文件被更新的新内容尾 200 行,如果文件还有在新增可以动态查看到(一般用于查看日记文件)
4335
- `shutdown`
4436
- `shutdown -hnow`,立即关机
45-
- `shutdown -h+10`10分钟后关机
46-
- `shutdown -h23:30`,23:30关机
37+
- `shutdown -h+10`10 分钟后关机
38+
- `shutdown -h23:30`,23:30 关机
4739
- `shutdown -rnew`,立即重启
4840
- `poweroff`,立即关机(常用)
4941
- `reboot`,立即重启(常用)
@@ -55,8 +47,6 @@
5547
- `tar -xvf mytest.tar -C /opt/setups/`,释放 mytest.tar 这个归档文件,释放到 /opt/setups/ 目录下
5648
- `last`,显示最近登录的帐户及时间
5749
- `lastlog`,显示系统所有用户各自在最近登录的记录,如果没有登录过的用户会显示 **从未登陆过**
58-
- `du -sh /opt/setups/`,显示 /opt/setups/ 目录所占硬盘空间大小(s 表示 –summarize 仅显示总计,即当前目录的大小。h 表示 –human-readable 以 KB,MB,GB 为单位,提高信息的可读性)
59-
- `chmod 777 文件名`,给指定文件增加最高权限。linux 的权限分为 rwx,这三个权限都可以转换成数值表示,r = 4,w = 2,x = 1,- = 0,所以总和是 7,也就是最大权限。第一个 7 是所属主(user)的权限,第二个 7 是所属组(group)的权限,最后一位 7 是非本群组用户(others)的权限。
6050
- `ls`,列出当前目录下的所有没有隐藏的文件 / 文件夹。
6151
- `ls -a`,列出包括以.号开头的隐藏文件 / 文件夹(也就是所有文件)
6252
- `ls -R`,显示出目录下以及其所有子目录的文件 / 文件夹(递归地方式,不显示隐藏的文件)
@@ -70,7 +60,7 @@
7060
- `ls -F`,列出当前目录下的文件名及其类型。以 **/** 结尾表示为目录名,以 **\*** 结尾表示为可执行文件,以 **@** 结尾表示为符号连接
7161
- `ls -lg`,同上,并显示出文件的所有者工作组名。
7262
- `ls -lh`,查看文件夹类文件详细信息,文件大小,文件修改时间
73-
- `ls /opt | head -5`,显示 opt 目录下前5条记录
63+
- `ls /opt | head -5`,显示 opt 目录下前 5 条记录
7464
- `ls -l /opt |grep "^-"|wc -l`,统计 opt 目录下文件的个数,不会递归统计
7565
- `ls -lR /opt |grep "^-"|wc -l`,统计 opt 目录下文件的个数,会递归统计
7666
- `ls -l /opt |grep "^d"|wc -l`,统计 opt 目录下目录的个数,不会递归统计
@@ -108,12 +98,7 @@
10898
- `find /opt -type f -iname .oh-my-zsh`,其中 /opt 代表目录名,-type f 代表只找文件,.oh-my-zsh 代表搜索的是隐藏文件名字为 oh-my-zsh 的
10999
- `find /opt -type d -iname .oh-my-zsh`,其中 /opt 代表目录名,-type d 代表只找目录,.oh-my-zsh 代表搜索的是隐藏文件夹名字为 oh-my-zsh 的
110100
- `find . -name "lin*" -execls -l{}\;`,当前目录搜索lin开头的文件,然后用其搜索后的结果集,再执行ls -l的命令(这个命令可变,其他命令也可以),其中 -exec 和 {}\; 都是固定格式
111-
- `df -h`,查看磁盘大小和使用空间
112-
- `du -sh /opt`,查看 opt 这个文件夹大小 (h 的意思 human-readable 用人类可读性较好方式显示,系统会自动调节单位,显示合适大小的单位)
113-
- `du -sh ./*`,查看当前目录下所有文件夹大小 (h 的意思 human-readable 用人类可读性较好方式显示,系统会自动调节单位,显示合适大小的单位)
114101
- `cat /etc/resolv.conf`,查看 DNS 设置
115-
- `cat /etc/group`,查看所有组
116-
- `cat /etc/passwd`,查看所有用户
117102
- ``,
118103
- ``,
119104
- ``,
@@ -128,6 +113,66 @@
128113
- ``,
129114
- ``,
130115

116+
117+
## 用户、权限-相关命令
118+
119+
- `hostname`,查看当前登陆用户全名
120+
- `cat /etc/group`,查看所有组
121+
- `cat /etc/passwd`,查看所有用户
122+
- `useradd youmeek -p 123456`,添加一个名为 youmeek 的用户,还有一个同名的组
123+
- `userdel -r youmeek`,删除名字为 youmeek 的用户
124+
- 参数:`-r`,表示删除用户的时候连同用户的家目录一起删除
125+
- 修改普通用户 youmeek 的权限跟 root 权限一样:
126+
- 常用方法(原理是把该用户加到可以直接使用 sudo 的一个权限状态而已):
127+
- 编辑配置文件:``
128+
- 找到 98 行(预估),有一个:`root ALL=(ALL) ALL`,在这一行下面再增加一行,效果如下:
129+
``` nginx
130+
root ALL=(ALL) ALL
131+
youmeek ALL=(ALL) ALL
132+
```
133+
- 另一种方法:
134+
- 编辑系统用户的配置文件:`vim /etc/passwd`,找到 **root** 和 **youmeek** 各自开头的那一行,比如 root 是:*root:x:0:0:root:/root:/bin/zsh*,这个代表的含义为:*用户名:密码:UserId:GroupId:描述:家目录:登录使用的 shell*
135+
- 通过这两行对比,我们可以直接修改 youmeek 所在行的 UserId 值 和 GroupId 值,都改为 0。
136+
- `groupadd judasn`,添加一个名为 judasn 的用户组
137+
- `groupdel judasn`,删除一个名为 judasn 的用户组(前提:先删除组下面的所有用户)
138+
- `passwd youmeek`,修改 youmeek 用户的密码(前提:只有 root 用户才有修改其他用户的权限,其他用户只能修改自己的)
139+
- `chmod 777 文件名/目录`,给指定文件增加最高权限,系统中的所有人都可以进行读写。
140+
- linux 的权限分为 rwx。r 代表:可读,w 代表:可写,x 代表:可执行
141+
- 这三个权限都可以转换成数值表示,r = 4,w = 2,x = 1,- = 0,所以总和是 7,也就是最大权限。第一个 7 是所属主(user)的权限,第二个 7 是所属组(group)的权限,最后一位 7 是非本群组用户(others)的权限。
142+
- `su`:切换到 root 用户,终端目录还是原来的地方(常用)
143+
- `su -`:切换到 root 用户,其中 **-** 号另起一个终端并切换账号
144+
- `su 用户名`,切换指定用户帐号登陆,终端目录还是原来地方。
145+
- `su - 用户名`,切换到指定用户帐号登陆,其中 **-** 号另起一个终端并切换账号
146+
- `exit`,注销当前用户(常用)
147+
- `sudo 某个命令`,使用管理员权限使用命令,使用 sudo 回车之后需要输入当前登录账号的密码。(常用)
148+
- `passwd`,修改当前用户密码(常用)
149+
150+
151+
152+
## 磁盘管理
153+
154+
- `df -h`,自动以合适的磁盘容量单位查看磁盘大小和使用空间
155+
- `df -k`,以磁盘容量单位 K 为数值结果查看磁盘使用情况
156+
- `df -m`,以磁盘容量单位 M 为数值结果查看磁盘使用情况
157+
- `du -sh /opt`,查看 opt 这个文件夹大小 (h 的意思 human-readable 用人类可读性较好方式显示,系统会自动调节单位,显示合适大小的单位)
158+
- `du -sh ./*`,查看当前目录下所有文件夹大小 (h 的意思 human-readable 用人类可读性较好方式显示,系统会自动调节单位,显示合适大小的单位)
159+
- `du -sh /opt/setups/`,显示 /opt/setups/ 目录所占硬盘空间大小(s 表示 –summarize 仅显示总计,即当前目录的大小。h 表示 –human-readable 以 KB,MB,GB 为单位,提高信息的可读性)
160+
- `mount /dev/sdb5 /newDir/`,把分区 sdb5 挂载在根目录下的一个名为 newDir 的空目录下,需要注意的是:这个目录最好为空,不然已有的那些文件将看不到,除非卸载挂载。
161+
- 挂载好之后,通过:`df -h`,查看挂载情况。
162+
- `umount /newDir/`,卸载挂载,用目录名
163+
- 如果这样卸载不了可以使用:`umount -l /newDir/`
164+
- `umount /dev/sdb5`,卸载挂载,用分区名
165+
166+
167+
168+
169+
170+
171+
172+
173+
174+
131175
## 资料
132176

133177
- <http://wenku.baidu.com/view/1ad19bd226fff705cc170af3.html>
178+
- <http://blog.csdn.net/nzing/article/details/9166057>

0 commit comments

Comments
 (0)