|
1 | | -<h1 id="bash0">Bash 命令</h1> |
| 1 | +<h1id="bash0">Bash 常用命令</h1> |
2 | 2 |
|
3 | 3 | ------ |
4 | 4 |
|
5 | | -* [Bash 命令](#bash0) |
6 | | - * [基础常用命令](#bash1) |
7 | | - * [资料](#bash2) |
| 5 | +* [Bash 常用命令](#bash0) |
| 6 | + * [基础常用命令](#bash1) |
| 7 | + * [资料](#bash2) |
8 | 8 |
|
9 | 9 | ------ |
10 | 10 |
|
11 | | -<h2 id="bash1">基础常用命令</h2> |
| 11 | +<h2id="bash1">基础常用命令</h2> |
| 12 | + |
| 13 | +- 疑问: |
| 14 | + - locate 和 find 的区别,locate 速度很快,正常应该是有创建索引的可能,然后利用索引进行搜索,find 应该是每次都进行全文检索 |
| 15 | + - hwclock --systohc 或 hwclock -w 的区别 |
| 16 | + - `more 文件名`,用分页的方式查看文件内容(只能空格进行翻下一页,没办法翻上页)应该是可以翻上下页的 |
| 17 | + |
| 18 | +<h2id="bash1">基础常用命令</h2> |
12 | 19 |
|
13 | 20 | - `某个命令 --h`,对这个命令进行解释 |
14 | | -- `某个命令 --help` ,解释这个命令(更详细) |
15 | | -- `man 命令` 文档式解释这个命令(更更详细)(执行该命令后,还可以按/+关键字进行查询结果的搜索) |
16 | | -- `Ctrl+c` 结束命令 |
17 | | -- `TAB键` 自动补全命令(没办法补参数)(按一次自动补全,连续按两次,提示所有以输入开头字母的所有命令) |
18 | | -- `上下键` 输入临近的历史命令 |
19 | | -- `history` 查看所有的历史命令 |
20 | | -- `Ctrl+r` 历史命令的搜索功能 |
21 | | -- `clear` 清除屏幕里面的所有命令 |
22 | | -- `hostname` 查看当前登陆用户全名 |
23 | | -- `pwd` 显示当前目录路径(常用)----- |
24 | | -- `firefox &` 使用后台方式打开firefox |
25 | | -- `jobs` 查看后台运行的程序列表 |
26 | | -- `ifconfig` 查看IP等信息 |
27 | | -- `locate 搜索关键字` 快速搜索系统文件/文件夹(类似everything索引式搜索) |
28 | | -- `updatedb` 配合上面的locate,给locate的索引更新(locate默认是一天更新一次索引) |
29 | | -- `su - 用户名` 切换指定用户帐号登陆,如果是su - 则是ROOT用户,其中有“-”号表示的是另起一个终端并切换帐号,如果su直接执行, 则是切换了用户,但是终端还是原来地方。 |
30 | | -- `exit` 注销当前用户 |
31 | | -- `sudo 要执行的命令` 使用管理员权限使用命令 |
32 | | -- `passwd` 修改当前用户密码 |
33 | | -- `date` 查看系统时间 |
34 | | -- `date -s 20080103` 先设置日期 |
35 | | -- `date -s 18:24` 设置时间, 如果要同时更改BIOS时间,再执行 hwclock --systohc(hwclock -w 也可以) |
36 | | -- `cal` 查看日历 |
37 | | -- `uptime` 查看系统已经运行了多久,当前有几个用户等信息 |
38 | | -- `echo "字符串内容"` 输出"字符串内容" |
39 | | -- `cat 文件` 显示文件内容(属于打印语句) |
40 | | -- `cat -n 文件` 显示文件,并每一行内容都编号 |
41 | | -- `more 文件名` 用分页的方式查看文件内容(只能空格进行翻下一页,没办法翻上页) |
42 | | -- `less` 文件名 用分页的方式查看文件内容(带上下翻页,按j向下移动,按k向上移动。按/(或?,/是向下找,?是向上找),再输入要要查找内容字符,可以查找当前文件内容,如果有存在多个结果,按n跳到下一个结果处。) |
43 | | -- ` 文件名 显示文件头3行(数字可变) |
44 | | -- `tail -n 3 文件名` 显示文件尾3行 |
45 | | -- `tail -200f 文件` 查看文件被更新的新内容尾200行,如果文件还有在新增可以动态查看到(一般用于查看日记文件) |
46 | | -- `shutdown -h now` 立即关机(-h参数要加) |
47 | | -- `shutdown -h +10` 10分钟后关机(-h参数要加) |
48 | | -- `shutdown -h 23:30` 23:30关机(-h参数要加) |
49 | | -- `shutdown -r new` 立即重启(-h参数要加) |
50 | | -- `poweroff` 立即关机(常用) |
51 | | -- `reboot` 立即重启(常用) |
52 | | -- `zip` 被压缩以后的名称.zip 想被压缩的文件 |
53 | | -- `zip -r` 被压缩以后的名称.zip 想被压缩的文件夹 |
54 | | -- `unzip` 被解压的压缩文件 |
55 | | -- `tar -cvf` 被归档后的文件名.tar 要被归档的文件(归档和压缩不一样) |
56 | | -- `tar -xvf` 归档文件 释放这个归档文件 |
57 | | -- `tar -cvzf` 被归档后压缩的文件名.tar.gz 被归档的文件/文件夹(一般用这个,可以减小体积) |
58 | | -- `last和lastlog` 可查看最近登录的帐户及时间 |
59 | | -- `du -sh upload_bak/` 显示目录大小(s表示–summarize 仅显示总计,即当前目录的大小。h表示:–human-readable 以K,M,G为单位,提高信息的可读性。http://wenku.baidu.com/view/1ad19bd226fff705cc170af3.html ) |
60 | | -- chmod 777文件名 ` 给指定文件增加最高权限。linux的权限分为rwx,r=4,w=2,x=1,-=0,所以总和是7,也就是最大权限。第一个7是所属主(user)的权限,第二个7是所属组(group)的权限,最后一位7是非本群组用户(others)的权限。 |
61 | | -- |
62 | | -- 列出文件或目录下的文件名 |
63 | | -- `ls` 列出目前目录下的文件名。 |
64 | | -- `ls -a` 列出包括以.开始的隐藏文件的所有文件名(也就是所有文件)(蓝色=目录,黑色=文件)。 |
65 | | -- `ls -R` 显示出目录下以及其所有子目录的文件名(递归地方式,不显示隐藏)。 |
66 | | -- `ls -l`(小写L) 列出目录下所有文件的权限、所有者、文件大小、修改时间及名称(也就是显示详细信息,不显示隐藏文件)。显示出来的效果如下: |
67 | | -- -rwxr-xr-x. 1 root root 5220 Aug 23 2010 xzdiff,前面的-表示这是一个普通文件 |
68 | | -- lrwxrwxrwx. 1 root root 2 Jan 6 2014 xzcat -> xz,前面的l表示这是一个链接文件,类似windows的快捷方式 |
69 | | -- drwxr-xr-x. 5 root root 4096 Jun 26 2014 cert,前面的d表示这是一个目录 |
70 | | -- |
71 | | -- `ls -ld 目录名` 列表该目录的基本信息 |
72 | | -- `ls -t` 依照文件最后修改时间的顺序列出文件名。 |
73 | | -- `ls -F` 列出当前目录下的文件名及其类型。以/ 结尾表示为目录名,以* 结尾表示为可执行文件,以@ 结尾表示为符号连接。 |
74 | | -- `ls -lg` 同上,并显示出文件的所有者工作组名。 |
75 | | -- `ls -lh` 查看文件夹类文件详细信息,文件大小,文件修改时间 |
76 | | -- |
77 | | -- 改变当前工作目录(在熟悉cd命令的时候,还要多用pwd来查看目录结构,这样会比较容易学) |
78 | | -- `cd .` 切换到当前目录(这个平时没啥用) |
79 | | -- `cd ..` 改变目录位置至当前目录的父目录(上级目录)。 |
80 | | -- `cd ~` 改变目录位置至用户登录时的工作目录。 |
81 | | -- `cd 回车` 回到家目录 |
82 | | -- `cd -` 上一个工作目录 |
83 | | -- `cd dir1` 改变目录位置至d i r 1目录下。 |
84 | | -- `cd ~user` 改变目录位置至用户的工作目录。 |
85 | | -- `cd ../user` 改变目录位置至相对路径user 的目录下。 |
86 | | -- `cd /../..` 改变目录位置至绝对路径的目录位置下。 |
87 | | -- |
88 | | -- `cp 源文件 目标文件` 复制文件 |
89 | | -- `cp -r 源文件夹 目标文件夹` 复制文件夹 |
90 | | -- `cp -r -v 源文件夹 目标文件夹` 复制文件夹(显示详细信息,一般用于文件夹很大,需要查看复制进度的时候) |
91 | | -- `mv 文件 目标文件夹` 移动文件到目标文件夹 |
92 | | -- `mv 文件` 不指定目录 重命名后的名字 用来重命名文件 |
93 | | -- `touch 文件名` 创建一个空白文件/更新已有文件的时间(后者少用) |
94 | | -- `mkdir 文件夹名` 创建文件夹 |
95 | | -- `rmdir 文件夹名` 删除文件夹(只能删除文件夹里面是没有东西的文件夹) |
96 | | -- `rm 文件` 删除文件 |
97 | | -- `rm -r 文件夹` 删除文件夹 |
98 | | -- `rm -r -i 文件夹` 在删除文件夹里的文件会提示(要的话,在提示后面输入yes) |
99 | | -- `rm -r -f 文件夹` 强制删除 |
100 | | -- `rm -r -f 文件夹1/ 文件夹2/ 文件夹3/` 删除多个 |
101 | | -- |
102 | | -- `find` 高级查找 |
103 | | -- `find . -name *lin*` 其中.代表在当前目录找,-name表示匹配文件名/文件夹名,*lin*用通配符搜索含有lin的文件或是文件夹 |
104 | | -- `find / -name *.conf` 其中/代表根目录查找,*.conf代表搜索后缀会.conf的文件 |
105 | | -- `find . -name "lin*" -exec ls -l {} \;` 当前目录搜索lin开头的文件,然后用其搜索后的结果集,再执行ls -l的命令(这个命令可变,其他命令也可以),其中-exec和{} \;都是固定格式 |
| 21 | +- `某个命令 --help`,解释这个命令(更详细) |
| 22 | +- `man某个命令`,文档式解释这个命令(更更详细)(执行该命令后,还可以按/+关键字进行查询结果的搜索) |
| 23 | +- `Ctrl + c`,结束命令 |
| 24 | +- `TAB键`,自动补全命令(按一次自动补全,连续按两次,提示所有以输入开头字母的所有命令) |
| 25 | +- `键盘上下键`,输入临近的历史命令 |
| 26 | +- `history`,查看所有的历史命令 |
| 27 | +- `Ctrl + r`,进入历史命令的搜索功能模式 |
| 28 | +- `clear`,清除屏幕里面的所有命令 |
| 29 | +- `hostname`,查看当前登陆用户全名 |
| 30 | +- `pwd`,显示当前目录路径(常用) |
| 31 | +- `firefox&`,最后后面的 **&** 符号,表示使用后台方式打开 firefox,然后显示该进程的 PID 值 |
| 32 | +- `jobs`,查看后台运行的程序列表 |
| 33 | +- `ifconfig`,查看IP等信息(常用) |
| 34 | +- `locate 搜索关键字`,快速搜索系统文件/文件夹(类似 Windows 上的 everything 索引式搜索)(常用) |
| 35 | + - `updatedb`,配合上面的locate,给locate的索引更新(locate默认是一天更新一次索引)(常用) |
| 36 | +- `su`:切换到 root 用户,终端目录还是原来的地方(常用) |
| 37 | + - `su -`:切换到 root 用户,其中 **-** 号另起一个终端并切换账号 |
| 38 | + - `su 用户名`,切换指定用户帐号登陆,终端目录还是原来地方。 |
| 39 | + - `su - 用户名`,切换到指定用户帐号登陆,其中 **-** 号另起一个终端并切换账号 |
| 40 | +- `exit`,注销当前用户(常用) |
| 41 | +- `sudo 某个命令`,使用管理员权限使用命令(常用) |
| 42 | +- `passwd`,修改当前用户密码(常用) |
| 43 | +- `date`,查看系统时间(常用) |
| 44 | + - `date -s20080103`,设置日期(常用) |
| 45 | + - `date -s18:24`,设置时间,如果要同时更改 BIOS 时间,再执行 `hwclock --systohc 或 hwclock -w`(常用) |
| 46 | +- `cal`,在终端中查看日历,肯定没有农历显示的 |
| 47 | +- `uptime`,查看系统已经运行了多久,当前有几个用户等信息(常用) |
| 48 | +- `echo "字符串内容"`,输出"字符串内容" |
| 49 | +- `cat 文件路名`,显示文件内容(属于打印语句) |
| 50 | +- `cat -n 文件名`,显示文件,并每一行内容都编号 |
| 51 | +- `more 文件名`,用分页的方式查看文件内容(只能空格进行翻下一页,没办法翻上页) |
| 52 | +- `less`文件名,用分页的方式查看文件内容(带上下翻页) |
| 53 | + - 按 **j** 向下移动,按 **k** 向上移动 |
| 54 | + - 按 **/** 后,输入要查找的字符串内容,可以对文件进行向下查询,如果存在多个结果可以按 **n** 调到下一个结果出 |
| 55 | + - 按 **?** 后,输入要查找的字符串内容,可以对文件进行向上查询,如果存在多个结果可以按 **n** 调到下一个结果出 |
| 56 | +- `tail -200f 文件名`,查看文件被更新的新内容尾200行,如果文件还有在新增可以动态查看到(一般用于查看日记文件) |
| 57 | +- `shutdown -hnow`,立即关机 |
| 58 | +- `shutdown -h+10`,10分钟后关机 |
| 59 | +- `shutdown -h23:30`,23:30关机 |
| 60 | +- `shutdown -rnew`,立即重启 |
| 61 | +- `poweroff`,立即关机(常用) |
| 62 | +- `reboot`,立即重启(常用) |
| 63 | +- `zip mytest.zip /opt/test/`,把 /opt 目录下的 test/ 目录进行压缩,压缩成一个名叫 mytest 的 zip 文件 |
| 64 | + - `unzip mytest.zip`,对 mytest.zip 这个文件进行解压,解压到当前所在目录 |
| 65 | + - `unzip mytest.zip -d /opt/setups/`,对 mytest.zip 这个文件进行解压,解压到 /opt/setups/ 目录下 |
| 66 | +- `tar -cvf mytest.tar mytest/`,对 mytest/ 目录进行归档处理(归档和压缩不一样) |
| 67 | +- `tar -xvf mytest.tar`,释放 mytest.tar 这个归档文件,释放到当前目录 |
| 68 | + - `tar -xvf mytest.tar -C /opt/setups/`,释放 mytest.tar 这个归档文件,释放到 /opt/setups/ 目录下 |
| 69 | +- `last`,显示最近登录的帐户及时间 |
| 70 | +- `lastlog`,显示系统所有用户各自在最近登录的记录,如果没有登录过的用户会显示 **从未登陆过** |
| 71 | +- `du -sh /opt/setups/`,显示 /opt/setups/ 目录所占硬盘空间大小(s 表示 –summarize 仅显示总计,即当前目录的大小。h 表示 –human-readable 以 KB,MB,GB 为单位,提高信息的可读性) |
| 72 | +- `chmod 777 文件名`,给指定文件增加最高权限。linux 的权限分为 rwx,这三个权限都可以转换成数值表示,r = 4,w = 2,x = 1,- = 0,所以总和是 7,也就是最大权限。第一个 7 是所属主(user)的权限,第二个 7 是所属组(group)的权限,最后一位 7 是非本群组用户(others)的权限。 |
| 73 | +- `ls`,列出当前目录下的所有没有隐藏的文件 / 文件夹。 |
| 74 | + - `ls -a`,列出包括以.开始的隐藏文件的所有文件 / 文件夹(也就是所有文件) |
| 75 | + - `ls -R`,显示出目录下以及其所有子目录的文件 / 文件夹(递归地方式,不显示隐藏的文件) |
| 76 | + - `ls -a -R`,显示出目录下以及其所有子目录的文件 / 文件夹(递归地方式,显示隐藏的文件) |
| 77 | + - `ls -l`,列出目录下所有文件的权限、所有者、文件大小、修改时间及名称(也就是显示详细信息,不显示隐藏文件)。显示出来的效果如下: |
| 78 | + - -rwxr-xr-x. 1 root root 4096 3月 26 10:57,最前面的 **-** 表示这是一个普通文件 |
| 79 | + - lrwxrwxrwx. 1 root root 4096 3月 26 10:57,最前面的 **l** 表示这是一个链接文件,类似 Windows 的快捷方式 |
| 80 | + - drwxr-xr-x. 5 root root 4096 3月 26 10:57,最前面的 **d** 表示这是一个目录 |
| 81 | + - `ls -ld 目录名`,显示该目录的基本信息 |
| 82 | + - `ls -t`,依照文件最后修改时间的顺序列出文件名。 |
| 83 | + - `ls -F`,列出当前目录下的文件名及其类型。以 **/** 结尾表示为目录名,以 **\*** 结尾表示为可执行文件,以 **@** 结尾表示为符号连接 |
| 84 | + - `ls -lg`,同上,并显示出文件的所有者工作组名。 |
| 85 | + - `ls -lh`,查看文件夹类文件详细信息,文件大小,文件修改时间 |
| 86 | +- `cd`,目录切换 |
| 87 | + - `cd ..`,改变目录位置至当前目录的父目录(上级目录)。 |
| 88 | + - `cd ~`,改变目录位置至用户登录时的工作目录。 |
| 89 | + - `cd 回车`,回到家目录 |
| 90 | + - `cd -`,上一个工作目录 |
| 91 | + - `cd dir1/`,改变目录位置至 dir1 目录下。 |
| 92 | + - `cd ~user`,改变目录位置至用户的工作目录。 |
| 93 | + - `cd ../user`,改变目录位置至相对路径user的目录下。 |
| 94 | + - `cd /../..`,改变目录位置至绝对路径的目录位置下。 |
| 95 | +- `cp 源文件 目标文件`,复制文件 |
| 96 | + - `cp -r 源文件夹 目标文件夹`,复制文件夹 |
| 97 | + - `cp -r -v 源文件夹 目标文件夹`,复制文件夹(显示详细信息,一般用于文件夹很大,需要查看复制进度的时候) |
| 98 | +- `mv 文件 目标文件夹`,移动文件到目标文件夹 |
| 99 | + - `mv 文件`,不指定目录重命名后的名字,用来重命名文件 |
| 100 | +- `touch 文件名`,创建一个空白文件/更新已有文件的时间(后者少用) |
| 101 | +- `mkdir 文件夹名`,创建文件夹 |
| 102 | +- `rmdir 文件夹名`,删除文件夹(只能删除文件夹里面是没有东西的文件夹) |
| 103 | +- `rm 文件`,删除文件 |
| 104 | + - `rm -r 文件夹`,删除文件夹 |
| 105 | + - `rm -r -i 文件夹`,在删除文件夹里的文件会提示(要的话,在提示后面输入yes) |
| 106 | + - `rm -r -f 文件夹`,强制删除 |
| 107 | + - `rm -r -f 文件夹1/ 文件夹2/ 文件夹3/`删除多个 |
| 108 | +- `find`高级查找 |
| 109 | + - `find. -name *lin*`,其中.代表在当前目录找,-name表示匹配文件名/文件夹名,*lin*用通配符搜索含有lin的文件或是文件夹 |
| 110 | + - `find/ -name *.conf`,其中/代表根目录查找,*.conf代表搜索后缀会.conf的文件 |
| 111 | + - `find. -name "lin*" -execls -l{}\;`,当前目录搜索lin开头的文件,然后用其搜索后的结果集,再执行ls -l的命令(这个命令可变,其他命令也可以),其中-exec和{}\;都是固定格式 |
106 | 112 |
|
107 | 113 |
|
108 | | -<h2 id="bash2"> 资料</h2> |
| 114 | +<h2id="bash2">资料</h2> |
109 | 115 |
|
110 | 116 | - <http://wenku.baidu.com/view/1ad19bd226fff705cc170af3.html> |
0 commit comments