1. Root用户,
a) su 然后键入密码su 用于让用户在登录期间变成另外一个用户。后边不带 username 使用时,su 默认会变成超级用户。
b) sudo -s 然后键入密码
2. 不同的cd
a) cd .. 返回上一级目录b) cd / 进入根目录
c) cd 或cd ~ 进入当前用户的主目录,即/home/hy
d) 当前目录cd .
3. 命令行里的通配符
a) * 匹配任意长度的字符串,比如想显示当前目录下的所有的c++文件名,可以使用如下命令ls *cpp
b) ? 匹配单个字符。
显示当前目录下以text开头,后跟一个字符的文件
ls text?
c) [] 匹配所有出现在[]内的字符
显示当前目录下以text开头,而仅以1或者A结束的文件名
ls text[1A]
d) – 指定字符集范围
显示当前目录下,以text开头,后接一个大写字母的文件名
ls text[A-Z]
4. ls命令
ls命令是list的简写,作用是列出目录下的文件名-a, 列出所有文件,包括那些以”.”开头的隐藏文件
-l, 用于查看文件的各种属性,包括所有者、大小、修改时间等
可以同时使用多个选项,比如:
ls –al
5. 查看文本文件内容,cat 或者more 或者less
cat 一次性显示所有文件内容more 一次显示一页。对于大文件more比cat更好用
more file_name
cat -n file_name可以显示行号
less的功能更加强大,可以支持空格翻页、B返回,输入“/”加关键词搜索
6. grep,搜索文件内容
grep [OPTIONS] PATTERN [FILE……]搜索关键词PATTERN(可以是正则表达式)在[FILE……]列出的文件里出现的行数,可以是多个文件。
如果是-r选项,则搜索文件夹及其子文件夹,否则是搜索文件。
在-r选项下,如果不给出文件列表则表示搜索当前路径,否则搜索指定路径;
在非-r选项下,如果不给出文件列表,则表示搜索默认输入。
所以-r选项下要给路径名,非-r选项下要给文件名。
例如:
grep -r O_RDONLY /usr/include
表示搜索/usr/include目录及其子目录下,所有包含有O_RDONLY的文件,查找的结果如下:
如果要查找的关键字本身是带空格的,好比“a b”,则必须用单引号扩起它们。
grep -r ‘a b’
7. find,查找满足指定要求的文件或目录。
find [OPTION] [path] [express]与grep的格式不同,grep是先说搜什么,再说在哪搜
find是先说在哪搜,再说搜什么
可以是按照名字(-name)、时间(-atime)、文件属主(-user)等等来搜索,当然最常用的是-name。
查找的目的可以是文件,也可以是目录或者其他,用-type标示。
-type f 查找普通文件
-type d 查找目录
-type l 查找符号链接(快捷方式)
例如:
查找/usr/include/目录下名为stdlib.h的普通文件
find /usr/include/ -name stdlib.h -type f
查找结果:
/usr/include/stdlib.h
/usr/include/x86_64-linux-gnu/bits/stdlib.h
/usr/include/c++/5/tr1/stdlib.h
如果改成:find /usr/include/ -name stdlib.h -type d
则查找不到任何结果,因为没有名叫“stdlib.h”的文件夹。
查找/usr/include/目录下所有以python开头的文件夹
find /usr/include/ -name python* -type d
查找结果如下:
/usr/include/python2.7
/usr/include/x86_64-linux-gnu/python2.7
/usr/include/x86_64-linux-gnu/python3.5m
/usr/include/python3.5m
find默认是递归查找,一直找到最底层。如果只想查找当前目录则使用 -maxdepth 1
疑问:find结果默认就是打印出来的,所以加-print有鸡毛用呢?
8. locate更快速的查找命令
locate stdlib.h/usr/include/stdlib.h
/usr/include/c++/5/tr1/stdlib.h
/usr/include/freetype2/freetype/config/ftstdlib.h
/usr/include/x86_64-linux-gnu/bits/stdlib.h
/usr/include/x86_64-linux-gnu/freetype2/freetype/config/ftstdlib.h
这个命令并不真正查找文件,只是检索文件名数据库。如果希望更新该数据库,使用命令:
updatedb
需要root权限
9. 查看用户
who 列出所有登陆的用户信息whoami 我是谁,列出当前的登录用户
10. 查看操作系统版本
uname –a输出结果:
Linux ubuntu 4.4.0-36-generic #55-Ubuntu SMP Thu Aug 11 18:01:55 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
11. mkdir 创建目录
可以一次创建多个目录,比如:mkdir doc pic
这种不指定目录的写法,就是在当前目录创建目录。
也可以直接指定路径。相对路径和绝对路径都可以。
mkdir ~/pic/why
这时,如果pic目录已经创建了,则正确执行;如果pic目录尚未创建则执行失败。为了保证能创建成功,应该使用-p选项
mkdir -p movie/China
这时,如果movie目录存在,则在该目录下创建China子目录;如果movie目录不存在,则先创建movie目录,然后再在movie目录下创建China子目录。
12. mv 移动或重命名文件、目录
mv [OPTION] SOURCE DEST1,移动
将SOURCE移动至DEST目录
SOURCE可以是目录也可以是文件
如果DEST下有与SOURCE重名的文件或目录,则mv会替换掉原有的文件、目录而不给出任何提示。为防止这一情况出现,可以使用-i选项
mv -i test doc/
此时,若doc目录下已经存在test文件,则会给出提示信息:
mv:是否覆盖'doc/test'?
输入n代表no,输入y代表yes
2,重命名
重命名就是在同一个目录下移动
mv A B
就是将A重命名为B
注意:应该是当前目录下不存在B子目录才是重命名否则,是将A移动到B
13. cp 复制文件或目录
cp [OPTION] SOURCE DEST用法与mv相似,复制与剪切的关系。
与mv一样,cp同样不会为覆盖文件或目录而给出警告信息,想要警告信息,同mv一样,使用-i选项。
注意:如果复制的是目录,cp默认不会复制子目录,而是将子目录跳过只复制问价。如果想复制子目录连同子目录中的文件,应该使用-r选项
14. touch 生成空白文件
15. rm 删除文件或目录
rm filename删除文件,一般不会给出任何提示,且文件是真的删除,不会进入回收站。
但如果删除的是只读文件,则会进行确认。
如果不想确认,可以使用-f选项,直接替你回答Y
rm同样可以用来删除整个目录,只要使用-r选项
他会递归地删除目录下的所有文件和子目录
16. chmod 修改文件权限
chmod 777 file_name1代表x
2代表w
4代表r
属主、属组、其他人
17. 显示进程
ps -aux
将显示的进程信息写入文件
ps -aux >> ps.txt
18. gcc编译
gcc test.c -o test19. 解压
tar –xvf file.tar //解压 tar包tar -xzvf file.tar.gz //解压tar.gz
tar -xjvf file.tar.bz2 //解压 tar.bz2
tar –xZvf file.tar.Z //解压tar.Z
unrar e file.rar //解压rar
unzip file.zip //解压zip