为了在Ubuntu上生存下来 (能够看内核和源码之类的,注意不是搞服务器运维之类的)
还必须了解常用的文件或者目录操作命令,不废话了,直接上内容
按一次TAB 补全命令
按两次TAB 列出可选项
无意中读取了二进制未见 Ctrl+C 或者输入 reset
获取帮助
man 命令名称
例如 man ls
用linux的话,尽量避免用图形系统,实在需要的时候,比如说要用到IDE看android源码了,再去启动图形界面
linux 系统文件目录基础
记住要点:
1. linux没有folder(文件夹),只有directory(目录).
2. linux的目录结构是inverted tree(倒置树).
3. 从根目录(/)开始记录的文件路径叫做FQN(fully qualified name)全路径名.
4. current working directory(cwd)是某些命令运行的当前环境(每个进程必由其父进程启动)
5. 目录也是文件的的一种.
关键命令:
pwd 显示当前FQN (bash提示符只能提示最后一个目录)
cd 目录名 更换目录(cd 属于bash内部的命令(bash提供,而不系统提供),用which查找不到命令的存在路径)
. 表示当期目录
.. 表示上级目录
- 表示上个工作目录
~ 用户主目录 (只敲 cd 也表示切换到默认目录)
which 查看命令路径 (command path)
一些关键目录: (并不会去介绍过多的理论)
/var 内容经常发生变化的文件或者目录放在该目录下
/tmp 临时文件存放空间(某些应用的服务运行或者中间结果存储或者用户共享的空间)(简单说,某些进程使用该目录)
/bin 以及 /usr/bin 非特权目录, /sbin 以及 /usr/sbin 特权目录,但他们都存放常用的可执行程序 (比方说一些常见的bash命令, which 命令名 即可以查看到)
/etc 系统配置文件 (一般用户可能只能读取,却能修改配置文件)
/root root用户的home directory
/ 根目录 (linux目录倒置树的根)
touch test.txt 创建的一个文件
mkdir 创建一个新的空目录 (在当前文件夹下,创建单层目录,即父目录必须存在)
mkdir -p 创建多层目录 (父目录可以不存在,注意覆盖问题)
例如: mkdir new/new1 (这个new目录本来不存在,是创建new1目录的时候,顺便创建了其父目录)
> 重定向到非标准输出文件的时候,如果文件已经存在,那么会先删除原来的文件,重新创建一个新的文件
>> 重定向,文件尾追加(不存在的话就重新创建)
echo 把键盘输入的一部分信息显示在标准输出上
cp 复制文件和目录(可以给重命名)(可以一次操作多个文件)
cp test1.txt test1_new_name.txt (这是在同一个目录复制)
cp test1.txt test2.txt... /new_direcotry (把本目录的文件复制到别的目录)
cp /home/merlin/test.txt . (把别的目录的文件复制到本目录)
cp -r 目录1 目录2 目录3 (把目录1,目录2移动已经存在的目录3中)
mv 移动文件或者目录(单个移动的时候可以重命名)(可以一次操作多个文件)
mv test1.txt test2.txt (同一目录下,实际上就是重新命名)
mv test1.txt test2.txt /new_directory (本目录文件移动到别的目录)
mv ~/test.txt . (从别的目录移动到本目录)
mv 目录1 目录2 目录3 (把目录1,目录2移动到目录3中,前提是目录3必须已经存在,否则只能单个来)
mv 目录1 目录2 (目录1重命名为目录2)
(实际上只是做了一件事儿,在文件系统中只是记录文件名的更改,即更改FQN而已---先不管)
rm 文件1 文件2 删除文件(实际上是从文件系统中unlink, 用rm清除的文件可以恢复的)
rm -rf 目录名 强制删除目录 (recursive and force)
rmdir 删除空目录
注意点:
1. 避免重定向的时候覆盖原来的文件
2. 避免cp, mv 的时候重命名就覆盖了原来已经存在的文件
3. 重定向时,注意 > 左右两边的命令的执行先后顺序
例如:
pwd > file1 (此时cat file1 结果是 /home/merlin)
cat file1 > file1
(此时报错了input file is output flie,但是为时已晚, > 执行之前看到文件已经存在,就清除了文件重新创建了,但是新创建的文件是空的,cat file1结果为空)
最后一个补充 ls -R 目录名
(递归显示某目录内的文件或者目录,如果不指定目录名,则默认列出当前目录内的子目录及文件等)
好了不要贪多,希望在Ubuntu12.04.5上活下来。
讲的比较基础,并且排版比较丑陋,请 轻吐槽
如果您觉得我的文章对您有一点点儿帮助,请您给我点个赞,觉得比较low或者哪里写错了,请赶紧地,高我一声,谢啦。
每周三篇
merlin 2015/8/13 晚