菜鸟最可能用到的linux命令
1. man[manual] 对你熟悉或不熟悉的命令提供帮助解释
eg:man ls 就可以查看ls相关的用法。
注:按q键或者ctrl+c退出,在linux下可以使用ctrl+c终止当前程序运行。
2. ls[list] 查看目录或者文件的属性,列举出任一目录下面的文件
eg: ls /usr/man
ls -a
Linux上的文件以“.”开头的文件被系统视为隐藏文件,仅用ls命令是看不到他们的,而用ls -a除了显示 一般文件名外,连隐藏文件也会显示出来。
ls –l
这个命令可以用长格式显示更详细的文件信息。
Eg:-rw-r--r-- 1 fserver users 60 2012-04-06 09:56 testfile.txt
第一个栏位,表示文件的属性。Linux的文件基本上分为三个属性:可读(r),可写(w),可执行(x)。但是这里有十个格子可以添(具体程序实现时,实际上是十个bit位)。第一个小格是特殊表示格,表示目录或连结文件等等,d表示目录,例如drwx------;l表示连结文件,如lrwxrwxrwx;如果是以一横“-” 表示,则表示这是文件。其余剩下的格子就以每3格为一个单位。因为Linux是多用户多任务系统,所以一个文件可能同时被许多人使用,所以我们一定要设好每个文件的权限,其文件的权限位置排列顺序是(以-rwxr-xr-x为例): rwx(Owner)r-x(Group)r-x(Other) 这个例子表示的权限是:使用者自己可读,可写,可执行;同一组的用户可读,不可写,可执行;其它用户可读,不可写,可执行。另外,有一些程序属性的执行部分不是X,而是S,这表示执行这个程序的使用者,临时可以有和拥有者一样权力的身份来执行该程序。一般出现在系统管理之类的指令或程序,让使用者执行时,拥有root身份。
第二个栏位,表示文件个数。如果是文件的话,那这个数目自然是1了,如果是目录的话,那它的数目就是该目录中的文件个数了。
第三个栏位,表示该文件或目录的拥有者。若使用者目前处于自己的Home,那这一栏大概都是它的账号名称。
第四个栏位,表示所属的组(group)。每一个使用者都可以拥有一个以上的组,不过大部分的使用者应该都只属于一个组,只有当系统管理员希望给予某使用者特殊权限时,才可能会给他另一个组。
第五栏位,表示文件大小。文件大小用byte来表示,而空目录一般都是1024byte,你当然可以用其它参数使文件显示的单位不同,如使用ls –k就是用kb来显示一个文件的大小单位,不过一般我们还是以byte为主。
第六个栏位,表示创建日期.以“月,日,时间”的格式表示,如Aug 15 5:46表示8月15日早上5:46分。
第七个栏位,表示文件名。我们可以用ls –a显示隐藏的文件名。
3. cp[copy] 拷贝文件并命名
eg: cp filename1 filename2 //把filename1拷贝成filename2
cp 1.c netseek/2.c //将1.c拷到netseek目录下命名为2.c
4. rm[remove] 删除文件
eg: rm 1.c //将1.c这个文件删除
-r:向下递归。
-f:直接强行删除,没有任何提示信息。
Linux没有回收站,所以进行这个操作时,需要格外小心。
5. rmdir[remove directory] 删除空目录
eg: rmdir testdir
6. mv[move] 剪切或重命名 目录和文件
eg: mv filename1 filename2 //将filename1 改名为filename2
eg: mv qib.tgz ../qib.tgz //移到上一级目录
7. cd [change directory]改变当前目录
eg: mv filename1 filename2 //将filename1 改名为filename2
eg: mv qib.tgz ../qib.tgz //移到上一级目录
8. du[disk usage]显示目录所占的磁盘空间
如果du命令不加任何参数,返回的是当前目录在磁盘上的使用情况。
如果后面加了目录的话,就是此目录在磁盘上的使用情况
9. df[disk free] 显示磁盘剩余的磁盘空间
10. cat[concatenate]连接文件
cat text 显示text这个文件。
cat file1 file2 依顺序显示file1,file2的内容。
cat file1 file2>file3 把file1,file2的内容结合起来,再“重定向(>)”到file3文件中。
“〉”是往右重定向的意思,就是把左边的结果当成是输入,然后输入到file3这个文件中。
如果file3是已经存在的文件,那么它本身的内容被覆盖,而变成file1+file2的内容。如果〉左边没有文件的名称,而右边有文件名,例如cat >file1:结果是会“空出一行空白行”,等待你输入文字,输入完毕后再按[Ctrl]+[c]或[Ctrl]+[d],就会结束编辑,并产生 file1这个文件,而file1的内容就是你刚刚输入的内容。
cat file1>>file2:这将变成将file1的文件内容“附加”到file2的文件后面
11.more,less
这是两个显示一般文本文件的指令。如果一个文本文件太长了超过一个屏幕的画面,用cat来看实在是不理想,就可以试试more和less两个指令。
More指令可以使超过一页的文件临时停留在屏幕,等你按任何的一个键以后,才继续显示。
而less除了有more的功能以外,还可以用方向键往上或往下的滚动文件,所以你随意浏览,阅读文章时,less是个非常好的选择。
q是退出查看文件的模式。
12. pwd [print working directory]
执行pwd指令可立刻得知您目前所在的工作目录的绝对路径名称。
13. clear
这个命令是用来清除屏幕的,它不需要任何参数,如果你觉得屏幕太紊乱,就可以使用它清除屏幕上的信息。
14.ln[link]
它的功能是为某一个文件在另外一个位置建立一个不同的链接。
这个命令最常用的参数是-s,具体用法是:ln 源文件 –s 目标文件。 当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在某个固定的目录,放上该文件,然后在其它的目录下用ln命令链接(link)它就可以,不必重复的占用磁盘空间。
例如:ln /bin/less –s /usr/local/bin/less -s 是代号(symbolic)的意思。 这里有两点要注意:
第一,ln命令会保持每一处链接文件的同步性,也就是说,不论你改动了哪一处,其它的文件都会发生相同的变化;
第二,ln的链接有软链接和硬链接两种,软链接就是ln ** –s **,它只会在你选定的位置上生成一个文件的镜像,不会占用磁盘空间,硬链接ln ** **,没有参数-s, 它会在你选定的位置上生成一个和源文件大小相同的文件,无论是软链接还是硬链接,文件都保持同步变化。 用ls –l命令去察看,就可以看到显示的link的路径了。
15. grep[print lines matching a pattern]
用于查找文件中符合字符串的那行。
e.g. grep -nr "network_ssl" ./ [查找当前文件夹下所有文件内容,列出包含有 network_ssl该字串的行,并显示行号]
参数说明:
-a :将 binary 文件以 text 文件的方式搜寻数据
-c :计算找到 '搜寻字符串' 的次数
-i :忽略大小写的不同,所以大小写视为相同
-n :顺便输出行号
-v :反向选择,亦即显示出没有 '搜寻字符串' 内容的那一行!
16. find基础用法
$ find -name "*.txt" 用于查找所有的‘ *.txt’文件在当前目录及子目录中;
$ find -name "[A-Z]*" 用于当前目录及子目录中查找文件名以一个大写字母开头的文件;
$ find /etc -name "host*" 在/etc目录及子目录中,查找文件名以host开头的文件;
$find -name "[a-z][a-z][0--9][0--9].txt" 在当前目录查找文件名以两个小写字母开头,跟着是两个数字,最后是.txt的文件;