应该在Ubuntu OS上生存下来(2/3)

为了在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 晚

时间: 2024-10-10 13:57:24

应该在Ubuntu OS上生存下来(2/3)的相关文章

应该在Ubuntu OS上生存下来(3/3)

首先补充一下上次的内容: 先切换到 图形界面. ctrl  alt  T 呼出终端,如下图  (截图你可以用shutter,在ubuntu software center中自己去搜索) 技巧如下: F11  可以让终端全屏 Ctrl  Shift  +     可以增大终端的字体 Ctrl  -      可以减小终端的字体 如果想修改终端的配色, 在edit --> profile preference 中选择colors (去掉那个钩,然后自己配色) 技巧说完了,接着说实用命令: 特别说明:

应该在Ubuntu OS上生存下来(1/3)

万事开头难,一旦你克服了开头的一些麻烦,后面你自己就上路了. 有些人,喜欢讲一大堆理论,然而,怎么说呢,在人学习的不同阶段,理论知识占的比重是不同的. 作为一个linux的基本用户,还是要把实践放在首位,理论就当做tips好了. 关于虚拟控制台: 6个虚拟终端,1个图形终端 (ctrl+alt+f7) ssh hostname 远程登录某服务器 如: ssh 10.67.40.173 who 可以列出当前登录的用户及其登录方式 什么时候用who呢? tty1 即第一个虚拟终端的时候,我们来cat

Ubuntu OS 上的Online Accounts 研讨(英文视频)

在这个视频里介绍了Ubuntu OS上的online account探讨.online account可以应用于Web,QML及Scope的开发.更多介绍请参阅developer.ubuntu.com. http://v.youku.com/v_show/id_XODU0Njk4MTA4.html

在Ubuntu OS上怎么本地化一个QML应用

在这篇文章中,我们来介绍怎么在Ubuntu OS上本地化一个应用.本地化对很多的应用很重要.我们重点介绍怎么把应用本地化为中文. 1)创建一个最基本的应用 首先打开我们的Ubuntu SDK,并选择"App with Simple UI and localization"的模版. 然后接下来:     我们完成后我们的项目后,我们发现在项目的"LocalizeQml/po"目录中有生产一个文件"CMakeLists.txt".当我们第一次运行我们

使用Ubuntu OS上的URL dispatcher来启动其它的应用

URL dispatcher 是在Ubuntu OS上的一个服务.它可以让我们的应用(confined,i.e, click package应用)来启动其它的应用.这些应用通常是一个特别的URL来 识别的.可能最常见的例子就是向网页浏览器发送http:// URL来启动网页浏览器,但是像music或其它的应用也可以支持.对于大多数的应用来说,这是一个最有用的方式来退出现有的应用来启动另外一个应用. 对于Qt应用来说,它访问URL dispatcher的方法是通过Qt的desktop plugin

如何在Ubuntu OS上开发Scope (视频)

在这个视频里,我来介绍如何利用Ubuntu SDK从零开始在Ubuntu OS上开发一个视频.如果大家想看文章的话,请参阅文章"在Ubuntu OS上创建一个dianping Scope (Qt JSON)". 视频的地址在:http://v.youku.com/v_show/id_XODM5ODIxMDgw.html. 视频的源码在:bzr branch lp:~liu-xiao-guo/debiantrial/dianpingvideo 如果大家有什么意见或不清楚的,欢迎大家进行评

小米手机测试Ubuntu笔记本上的PHP网页

Ubuntu笔记本和小米手机都连上小米路由. ifconfig wlan0 查看Ubuntu的IP为 192.168.31.156 php -S 192.168.31.156:8080 -t ./ 如果没有无线路由,可以在Ubuntu笔记本上用hostapd建立无线网络: http://my.oschina.net/eechen/blog/227230 开发8080端口: sudo ufw allow 8080/tcp && sudo ufw status 禁用8080端口: sudo u

Ubuntu OS应用Runtime Enviroment

在这篇文章中.我们将介绍Ubuntu OS的Runtime Environment.在文章"App confinement: Security policy for click packages"中,我们看见它里面有介绍一个应用的runtime环境.这里,我们通过一个样例来显示一个应用的runtime环境究竟是如何的. 在这里我们能够參阅我曾经的文章"在Ubuntu上的C++及QML混合编程",我们下载文章中的例程: bzr branch lp:~liu-xiao-

如何在Ubuntu手机上实现一个FileDialog

前一段时间,有个开发者问我能否在Ubuntu手机中使用QtQuick.Dialogs来实现FileDialog.目前在手机上没有Qt这个库的实现.最主要的原因是它不使用unit grid的方式来布局,所以在真的手机上显得非常小.那么我们怎么才能实现同样的功能呢? 我们首先来查看一下我们的Ubuntu Qt所提供的API Dialog.这里我们有提供一个Dialog的control.我们可以仿照上面的例程来写出我们所需要的例程.另外,我们也需要使用另外一个APIFolderListModel.通过