免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 16618 | 回复: 61
打印 上一主题 下一主题

Linux常用命令及基础知识介绍 [复制链接]

论坛徽章:
3
天秤座
日期:2013-12-27 13:44:58射手座
日期:2014-05-22 16:52:43天蝎座
日期:2014-08-13 16:03:21
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-02-25 10:07 |只看该作者 |倒序浏览
1        获取帮助
使用Linux时,可以随时通过以下命令,查询联机帮助,注意在Linux下是区分大小写,还有一点就是多按Tab键,经常有意想不到的收获,如果某个文本文件在Windows在创建和编辑过,在linux下使用时,最好使用dos2unix命令对这个文件格式进行转换。
1.1        whatis
指令名称:        whatis
使用权限:        所有使用者
使用方式:        whatis [-d] [-r|-w] [-m systems] [-M manpath] | [-h] | [-V] keyword ...
说    明:        查询某一命令的简要说明
参    数:       
范    例:        whatis ls
1.2        man
指令名称:        man
使用权限:        所有使用者
使用方式:        man [-c|-f|-k|-w|-tZT device] [-adlhu7V] [-Mpath] [-Ppager] [-Slist] [-msystem] [-pstring] [-Llocale] [-eextension] [section] page ...
说    明:        显示某一命令的联机帮助,如之功能相似的命令为info,阅读帮助手册的状态下,按q键退出
参    数:       
范    例:        man less

1.3        --help
指令名称:       
使用权限:        所有使用者
使用方式:        commad --help
说    明:        其实这并不是一个真正的命令,而是几乎所有命令都支持的一个标准参数,使用该参数可以列出该命令的简要的帮助信息
参    数:       
范    例:        ps --help

论坛徽章:
3
天秤座
日期:2013-12-27 13:44:58射手座
日期:2014-05-22 16:52:43天蝎座
日期:2014-08-13 16:03:21
2 [报告]
发表于 2011-02-25 10:07 |只看该作者
2        文件操作
2.1        目录操作
2.1.1        pwd
指令名称:        pwd
使用权限:        所有使用者
使用方式:        pwd
说    明:        显示当前目录的绝对路径
参    数:       
范    例:        pwd
2.1.2        ls
指令名称:        ls
使用权限:        所有使用者
使用方式:        ls [-alrtAFR] [name...]
说    明:        显示指定工作目录下之内容(列出目前工作目录所含文件及子目录)。
参    数:        -a 显示所有档案及目录 (ls内定将档案名或目录名称开头为"."的视为隐藏档,不会列出)
-l 除档案名称外,亦将档案型态、权限、拥有者、档案大小等资讯详细列出
-r 将档案以相反次序显示(原定依英文字母次序)
-t 将档案依建立时间之先后次序列出
-A 同 -a ,但不列出 "." (目前目录) 及 ".." (父目录)
-F 在列出的档案名称后加一符号;例如可执行档则加 "*", 目录则加 "/"
-R 若目录下有档案,则以下之档案亦皆依序列出
范    例:        列出目前工作目录下所有名称是 s 开头的档案,愈新的排愈后面 :
                ls -ltr s*

                将 /bin 目录以下所有目录及档案详细资料列出 :
                ls -lR /bin

                列出目前工作目录下所有档案及目录;目录于名称后加 "/", 可执行档于名称后加 "*" :
                ls -AF
2.1.3        cd
指令名称:        cd
使用权限:        所有使用者
使用方式:        cd [dirName]
说    明:        变换工作目录至 dirName。 其中 dirName 表示法可为绝对路径或相对路径。若目录名称省略,则变换至使用者的 home directory (也就是刚 login 时所在的目录)。
另外,"~" 也表示为 home directory 的意思,"." 则是表示目前所在的目录,".." 则表示目前目录位置的上一层目录。
参    数:       
范    例:        跳到 /usr/bin/ :
                cd /usr/bin

                跳到自己的 home directory :
                cd ~

               跳到目前目录的上上两层 :
               cd ../..

论坛徽章:
3
天秤座
日期:2013-12-27 13:44:58射手座
日期:2014-05-22 16:52:43天蝎座
日期:2014-08-13 16:03:21
3 [报告]
发表于 2011-02-25 10:08 |只看该作者
2.1.4        cp
指令名称:        cp
使用权限:        所有使用者
使用方式:        cp [options] source dest
cp [options] source... directory
说    明:        将一个档案拷贝至另一档案,或将数个档案拷贝至另一目录。
参    数:        -a 尽可能将档案状态、权限等资料都照原状予以复制。
-r 若 source 中含有目录名,则将目录下之档案亦皆依序拷贝至目的地。
-f 若目的地已经有相同档名的档案存在,则在复制前先予以删除再行复制。
范    例:        将档案 aaa 复制(已存在),并命名为 bbb :
cp aaa bbb

将所有的C语言程序拷贝至 Finished 子目录中 :
cp *.c Finished
2.1.5        mv
指令名称:        mv
使用权限:        所有使用者
使用方式:        mv [options] source dest
mv [options] source... directory
说    明:        将一个档案移至另一档案,或将数个档案移至另一目录,如果source为目录,则会递归移动该目录下所有文件及子目录。
参    数:        -i 若目的地已有同名档案,则先询问是否覆盖旧档。
范    例:        将档案 aaa 更名为 bbb :
mv aaa bbb

将所有的C语言程序移至 Finished 子目录中 :
mv -i *.c

2.1.6        mkdir
指令名称:        mkdir
使用权限:        于目前目录有适当权限的所有使用者
使用方式:        mkdir [-p] dirName
说    明:        建立名称为 dirName 之子目录
参    数:        -p 确保目录名称存在,不存在的就建一个
范    例:        在工作目录下,建立一个名为 AAA 的子目录 :
mkdir AAA

在工作目录下的 BBB 目录中,建立一个名为 Test 的子目录。若 BBB 目录原本不存在,则建立一个。(注:本例若不加 -p,且原本 BBB目录不存在,则产生错误。)
mkdir -p BBB/Test

论坛徽章:
3
天秤座
日期:2013-12-27 13:44:58射手座
日期:2014-05-22 16:52:43天蝎座
日期:2014-08-13 16:03:21
4 [报告]
发表于 2011-02-25 10:08 |只看该作者
2.1.7        rmdir
指令名称:        rmdir
使用权限:        于目前目录有适当权限的所有使用者
使用方式:        rmdir [-p] dirName
说    明:        删除空的目录
参    数:        -p 是当子目录被删除后使它也成为空目录的话,则顺便一并删除
范    例:        将工作目录下,名为 AAA 的子目录删除 :
rmdir AAA

在工作目录下的 BBB 目录中,删除名为 Test 的子目录。若 Test 删除后,BBB 目录成为空目录,则 BBB 亦予删除。
rmdir -p BBB/Test

2.1.8        rm
指令名称:        rm
使用权限:        所有使用者
使用方式:        rm [options] name...
说    明:        删除档案及目录。
参    数:        -i 删除前逐一询问确认。
-f 即使原档案属性设为唯读,亦直接删除,无需逐一确认。
-r 将目录及以下之档案亦逐一删除。
范    例:        删除所有C语言程序档;删除前逐一询问确认 :
rm -i *.c

将 Finished 子目录及子目录中所有档案删除 :
rm -r Finished

删除名为-a的文件
rm ./-a
或者rm -- -a (参数“--”告诉rm这是最后一个选项)


删除名为\a的文件
rm \\a

论坛徽章:
3
天秤座
日期:2013-12-27 13:44:58射手座
日期:2014-05-22 16:52:43天蝎座
日期:2014-08-13 16:03:21
5 [报告]
发表于 2011-02-25 10:09 |只看该作者
2.2        文件查找
2.2.1        find
指令名称:        find
使用权限:        所有使用者
使用方式:        find expression
说    明:        将档案系统内符合 expression 的档案列出来。你可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。

find 根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部份为 path,之后的是 expression。如果 path 是空字串则使用目前路径,如果 expression 是空字串则使用 -print 为预设 expression。
参    数:        expression 中可使用的选项有二三十个之多,在此只介绍最常用的部份。

-mount, -xdev : 只检查和指定目录在同一个档案系统下的档案,避免列出其它档案系统中的档案
-amin n : 在过去 n 分钟内被读取过
-anewer file : 比档案 file 更晚被读取过的档案
-atime n : 在过去 n 天过读取过的档案
-cmin n : 在过去 n 分钟内被修改过
-cnewer file :比档案 file 更新的档案
-ctime n : 在过去 n 天过修改过的档案
-empty : 空的档案-gid n or -group name : gid 是 n 或是 group 名称是 name
-ipath p, -path p : 路径名称符合 p 的档案,ipath 会忽略大小写
-name name, -iname name : 档案名称符合 name 的档案。iname 会忽略大小写
-size n : 档案大小 是 n 单位,b 代表 512 位元组的区块,c 表示字元数,k 表示 kilo bytes,w 是二个位元组。-xtype c : 档案类型是 c 的档案。
d: 目录
c: 字型装置档案
b: 区块装置档案
p: 具名贮列
f: 一般档案
l: 符号连结
s: socket
-uid n : uid 是 n 的档案

你可以使用 ( ) 将运算式分隔,并使用下列运算。
exp1 -and exp2
! expr
-not expr
exp1 -or exp2
exp1, exp2
范    例:        将目前目录及其子目录下所有延伸档名是 c 的档案列出来。
# find . -name "*.c"

在目前目录及其子目录下,查找文件名为aaa 或者AAA或者aAA的文件
# find –iname aaa

将目前目录其其下子目录中所有一般档案列出
# find . -xtype f

论坛徽章:
3
天秤座
日期:2013-12-27 13:44:58射手座
日期:2014-05-22 16:52:43天蝎座
日期:2014-08-13 16:03:21
6 [报告]
发表于 2011-02-25 10:10 |只看该作者
2.2.2        grep
指令名称:        grep
使用权限:        所有使用者
使用方式:        grep [OPTION]... PATTERN [FILE] ...
说    明:        grep (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。Unix的grep家族包括grep、egrep和fgrep。egrep和fgrep的命令只跟grep有很小不同。egrep是grep的扩展,支持更多的re元字符, fgrep就是fixed grep或fast grep,它们把所有的字母都看作单词,也就是说,正则表达式中的元字符表示回其自身的字面意义,不再特殊。linux使用GNU版本的grep。它功能更强,可以通过-G、-E、-F命令行选项来使用egrep和fgrep的功能。

grep的工作方式是这样的,它在一个或多个文件中搜索字符串模板。如果模板包括空格,则必须被引用,模板后的所有字符串被看作文件名。搜索的结果被送到屏幕,不影响原文件内容。

grep可用于shell脚本,因为grep通过返回一个状态值来说明搜索的状态,如果模板搜索成功,则返回0,如果搜索不成功,则返回1,如果搜索的文件不存在,则返回2。我们利用这些返回值就可进行一些自动化的文本处理工作。
参    数:        -?
同时显示匹配行上下的?行,如:grep -2 pattern filename同时显示匹配行的上下2行。

-b,--byte-offset
打印匹配行前面打印该行所在的块号码。

-c,--count
只打印匹配的行数,不显示匹配的内容。

-f File,--file=File
从文件中提取模板。空文件中包含0个模板,所以什么都不匹配。

-h,--no-filename
当搜索多个文件时,不显示匹配文件名前缀。

-i,--ignore-case
忽略大小写差别。

-q,--quiet
取消显示,只返回退出状态。0则表示找到了匹配的行。

-l,--files-with-matches
打印匹配模板的文件清单。

-L,--files-without-match
打印不匹配模板的文件清单。

-n,--line-number
在匹配的行前面打印行号。

-s,--silent
不显示关于不存在或者无法读取文件的错误信息。

-v,--revert-match
反检索,只显示不匹配的行。

-w,--word-regexp
如果被\<和\>引用,就把表达式做为一个单词搜索。

论坛徽章:
3
天秤座
日期:2013-12-27 13:44:58射手座
日期:2014-05-22 16:52:43天蝎座
日期:2014-08-13 16:03:21
7 [报告]
发表于 2011-02-25 10:10 |只看该作者
范    例:        要用好grep这个工具,其实就是要写好正则表达式,所以这里不对grep的所有功能进行实例讲解,只列几个例子,讲解一个正则表达式的写法。

$ ls -l | grep '^a'
通过管道过滤ls -l输出的内容,只显示以a开头的行。

$ grep 'test' d*
显示所有以d开头的文件中包含test的行。


$ grep 'myString'  -i -r *
在当前目录及其所有子目录中的所有文件中查找包含字符串“myString”,不区分大小写

$ grep 'test' aa bb cc
显示在aa,bb,cc文件中匹配test的行。

$ grep '[a-z]\{5\}' aa
显示所有包含每个字符串至少有5个连续小写字符的字符串的行。

$ grep 'w\(es\)t.*\1' aa
如果west被匹配,则es就被存储到内存中,并标记为1,然后搜索任意个字符(.*),这些字符后面紧跟着另外一个es(\1),找到就显示该行。如果用egrep或grep -E,就不用"\"号进行转义,直接写成'w(es)t.*\1'就可以了。


2.3        文件浏览
2.3.1        less
指令名称:        less
使用权限:        所有使用者
使用方式:        less [Option] filename
说    明:        less 的作用与 more 十分相似,都可以用来浏览文字档案的内容,不同的是 less 允许使用者往回卷动,以浏览已经看过的部份,同时因为 less 并未在一开始就读入整个档案,因此在遇上大型档案的开启时,会比一般的文书编辑器(如 vi)来的快速。
参    数:       
范    例:        less /proc/cpuinfo

论坛徽章:
3
天秤座
日期:2013-12-27 13:44:58射手座
日期:2014-05-22 16:52:43天蝎座
日期:2014-08-13 16:03:21
8 [报告]
发表于 2011-02-25 10:11 |只看该作者
2.3.2        more
指令名称:        more
使用权限:        所有使用者
使用方式:        more [-dlfpcsu] [-num] [+/pattern] [+linenum] [fileNames..]
说    明:        类似 cat ,不过会以一页一页的显示方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示,而且还有搜寻字串的功能(与 vi 相似),使用中的说明文件,请按h键,退出请按q键。
参    数:        -num 一次显示的行数
-d 提示使用者,在画面下方显示 [Press space to continue, 'q' to quit.] ,如果使用者按错键,则会显示 [Press 'h' for instructions.] 而不是 '哔' 声
-l 取消遇见特殊字元 ^L(送纸字元)时会暂停的功能
-f 计算行数时,以实际上的行数,而非自动换行过后的行数(有些单行字数太长的会被扩展为两行或两行以上)
-p 不以卷动的方式显示每一页,而是先清除萤幕后再显示内容
-c 跟 -p 相似,不同的是先显示内容再清除其他旧资料
-s 当遇到有连续两行以上的空白行,就代换为一行的空白行
-u 不显示下引号 (根据环境变数 TERM 指定的 terminal 而有所不同)
+/ 在每个档案显示前搜寻该字串(pattern),然后从该字串之后开始显示
+num 从第 num 行开始显示
fileNames 欲显示内容的档案,可为复数个数
范    例:        more -s testfile 逐页显示 testfile 之档案内容,如有连续两行以上空白行则以一行空白行显示。
more +20 testfile 从第 20 行开始显示 testfile 之档案内容。

2.3.3        cat
指令名称:        cat
使用权限:        所有使用者
使用方式:        cat [-AbeEnstTuv] [--help] [--version] fileName
说    明:        把档案串连接后传到基本输出(萤幕或加 > fileName 到另一个档案)
参    数:        -n 或 --number 由 1 开始对所有输出的行数编号
-b 或 --number-nonblank 和 -n 相似,只不过对于空白行不编号
-s 或 --squeeze-blank 当遇到有连续两行以上的空白行,就代换为一行的空白行
-v 或 --show-nonprinting
范    例:        把 textfile1 的档案内容加上行号后输入 textfile2 这个档案里
cat -n textfile1 > textfile2

把 textfile1 和 textfile2 的档案内容加上行号(空白行不加)之后将内容附加到 textfile3 里。
cat -b textfile1 textfile2 >> textfile3

清空/etc/test.txt档案内容
cat /dev/null > /etc/test.txt

论坛徽章:
3
天秤座
日期:2013-12-27 13:44:58射手座
日期:2014-05-22 16:52:43天蝎座
日期:2014-08-13 16:03:21
9 [报告]
发表于 2011-02-25 10:12 |只看该作者
2.3.4        cut
指令名称:        cut
使用权限:        所有使用者
使用方式:        cut -cnum1-num2 filename
说    明:        显示每行从开头算起 num1 到 num2 的文字
参    数:       
范    例:        -c m-n 表示显示每一行的第m个字元到第n个字元。例如:

---------file-----------
liubi 23 14000
---------file-----------
# cut -c 3-9,12-20 file
liubi 14000

-f m-n 表示显示第m栏到第n栏(使用tab分隔)。例如:
---------file-----------
liubi 23 14000
---------file-----------
# cut -f 1,3 file
liubi 14000
2.3.5        head
指令名称:        head
使用权限:        所有使用者
使用方式:        head [OPTION]... [FILE]...
说    明:        查看某文件开始的n行
参    数:       
范    例:        如果你只想看文件的前5行,可以使用head命令,如:
head -5 /etc/passwd

论坛徽章:
3
天秤座
日期:2013-12-27 13:44:58射手座
日期:2014-05-22 16:52:43天蝎座
日期:2014-08-13 16:03:21
10 [报告]
发表于 2011-02-25 10:13 |只看该作者
2.3.6        sed
指令名称:        sed
使用权限:        所有使用者
使用方式:        sed [OPTION]... {script-only-if-no-other-script} [input-file]...
说    明:        sed是一个强大的基于流的文本编辑工具,这里不做详细介绍,只是使用它的一项最基本的文件浏览功能
参    数:       
范    例:        查看文件中间一段,你可以使用sed命令,如:
sed -n '5,10p' /etc/passwd


2.3.7        tail
指令名称:        tail
使用权限:        所有使用者
使用方式:        tail [OPTION]... [FILE]...
说    明:        查看某文件结尾的n行
参    数:        -f使tail不停地去读最新的内容,这样有实时监视的效果
范    例:        如果你想查看文件的后10行,可以使用tail命令,如:
tail -10 /etc/passwd
tail -f /var/log/messages

2.4        文件编辑
2.4.1        Vi简介
vi 做为Linux 系统中一种编辑器,它的使用方法和界面与 Unix 平台十分相似。在 Linux 中有很多功能强大,界面友好的编辑器,但是vi 还是值得你学习它的使用方法。初步接触 VI,你觉得它的界面不太友好,不容易掌握,可是一旦你掌握了vi 的命令,你可以感觉到它强大的功能与高效。而且vi 相对来说较小,无论你使用任何 Linux系统,你总是可以使用vi的。在很多系统中,可能只有 vi 供你选择。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP