本文对Linux常用命令做一个总结,方便日后查阅。
(1) ls命令
ls命令是linux下最常用的命令。ls命令就是list的缩写,缺省下ls用来打印出当前目录的清单, 如果ls指定其他目录,那么就会显示指定目录里的文件及文件夹清单。通过ls命令不 仅可以查看linux文件夹包含的文件,而且可以查看文件权限(包括目录、文件夹、文件权限) 查看目录信息等等。ls命令在日常的linux操作中用的很多!
- 命令格式: ls [选项] [目录名]
- 命令功能: 列出目标目录中所有的子目录和文件
- 常用参数:
- -a, -all 列出目录下的所有文件,包括以.开头的隐含文件
- -A 同-a,但不列出“.”(表示当前目录)和“..”(表示当前目录的父目录)
- -l 除了文件名之外,还将文件的权限、所有者、文件大小等信息详细列出来
- -t 以文件修改时间排序
- -x 逐行列出项目而不是逐栏列出
- -1 每行只列出一个文件
- 常用范例: 例1:列出/home/peidachang文件夹下的所有文件和目录的详细资料
命令:ls -l -R /home/peidachang
命令:ls -lR /home/peidachang
命令:ls -l t\*
命令:ls -F /opt/soft |grep /$ 列出/opt/soft文件下面的子目录
命令:ls -l /opt/soft | grep "^d"列出/opt/soft文件下面的子目录详细情况
命令:ls -ltr s\*
命令:ls -AF
命令:
ls -l * |grep "^-"|wc -l文件个数
ls -l * |grep "^d"|wc -l 目录个数
(2) cd命令
Linux cd命令可以说是Linux中最基本的命令语句,其他的命令语句要进行操作, 都是建立在使用cd命令上的。所以,学习Linux常用命令,首先就要学好cd命令的使用方法技巧。
- 命令格式: cd [目录名]
- 命令功能: 切换当前目录至dirName
- 常用参数:
- -a, -all 列出目录下的所有文件,包括以.开头的隐含文件
- -A 同-a,但不列出“.”(表示当前目录)和“..”(表示当前目录的父目录)
- -l 除了文件名之外,还将文件的权限、所有者、文件大小等信息详细列出来
- -t 以文件修改时间排序
- -x 逐行列出项目而不是逐栏列出
- -1 每行只列出一个文件
- 常用范例:
例1:进入系统根目录
命令:cd /
例2:进入上一级目录
命令:cd ..
例3:进入用户主目录
命令:cd
例4:返回进入此目录之前所在的目录
命令:cd -
例5:把上个命令的参数作为cd参数使用
命令:cd !$
(3) pwd命令
Linux中用pwd命令来查看”当前工作目录“的完整路径。 简单得说,每当你在终端进行操作时,你都会有一个当前工作目录。 在不太确定当前位置时,就会使用pwd来判定当前目录在文件系统内的确切位置。
- 命令格式: pwd [选项]
- 命令功能: 查看”当前工作目录“的完整路径
- 常用参数:
- 一般情况下不带任何参数
- 如果目录是链接时:
- 格式:
pwd -P显示出实际路径,而非使用连接(link)路径
(4) mkdir命令
Linux mkdir命令用来创建指定的名称的目录,要求创建目录的用户在当前目录 中具有写权限,并且指定的目录名不能是当前目录中已有的目录。
- 命令格式: mkdir [选项] 目录
- 命令功能: 通过mkdir命令可以实现在指定位置创建以 DirName(指定的文件名)命名的文件夹或 目录。要创建文件夹或目录的用户必须对所创建的文件夹的父文件夹具有写权限。 并且,所创建的文件夹(目录)不能与其父目录(即父文件夹)中的文件名重名, 即同一个目录下不能有同名的(区分大小写)。
- 常用参数:
- -m, --mode=模式, 设定权限<模式> (类似 chmod),而不是 rwxrwxrwx 减 umask</li>
- -p --parents,可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录;
- -v --verbose 每次创建新目录都显示信息
- --help 显示此帮助信息并退出
- --version 输出版本信息并退出 </ul> </ol>
- 命令格式: rm [选项] 文件/目录
- 命令功能: 删除一个目录中的一个或多个文件或目录,如果没有使用- r选项,则rm不会删除目录。如果使用 rm来删除文件,通常仍可以将该文件恢复原状。
- 常用参数:
- -f, --force 忽略不存在的文件,从不给出提示。
- -i, --interactive 进行交互式删除
- -r,-R,--recursive 指示rm将参数中列出的全部目录和子目录均递归地删除。
- -v,--verbose 详细显示进行的步骤
- --help 显示此帮助信息并退出
- --version 输出版本信息并退出
- 常用范例:
- 命令格式: rmdir [选项] 目录
- 命令功能: 该命令从一个目录中删除一个或多个子目录项,删除某目录时也必须具有对父目录的写权限。
- 常用参数:
- -p 递归删除目录dirname
- -v,--verbose 详细显示进行的步骤
- 命令格式: mv [选项] 源文件/目录 源文件/目录
- 命令功能: 视mv命令中第二个参数类型的不同(是目标文件还是目标目录),mv命令将文件重命 名或将其移至一个新的目录中。当第二个参数类型是文件时,mv命令完成文件重命名, 此时,源文件只能有一个(也可以是源目录名),它将所给的源文件或目录重命名为给定的 目标文件名。当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个,mv命 令将各参数指定的源文件均移至目标目录中。在跨文件系统移动文件时,mv先拷贝,再将 原有文件删除,而链至该文件的链接也将丢失。
- 常用参数:
- -b 若需覆盖文件,则覆盖前先行备份
- -f force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖
- -i 若目标文件 (destination) 已经存在时,就会询问是否覆盖
- -u 若目标文件已经存在,且source比较新,才会更新(update)
- -t 即指定mv的目标目录,该选项适用于移动多个源文件到一个目录的情况,此时目标目录在前,源文件在后
- 常用范例:
- 命令格式: cp [选项]... 源 目录
- 命令功能: 将源文件复制至目标文件,或将多个源文件复制至目标目录。
- 常用参数:
- -b 类似--backup 但不接受参数
- -f 如果目标文件无法打开则将其移除并重试(当-n选项存在时则不需再选此项)
- -i 覆盖前询问(使前面的 -n 选项失效)
- -r 复制目录及目录内的所有项目
- -l 链接文件而不复制
- 命令格式: touch [选项] 文件
- 命令功能: touch命令参数可更改文档或目录的日期时间,包括存取时间和更改时间。
- 常用参数:
- -a 只更改存取时间
- -c 不建立任何文档
- -d 使用指定的日期时间,而非现在的时间。
- -f 此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题。
- -m 只更改变动时间。
- -r 把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同。
- -t 使用指定的日期时间,而非现在的时间。
- 常用范例:
- 命令格式: cat [选项] [文件]
- 命令功能: cat主要有三大功能:
- 一次显示整个文件:cat filename
- 从键盘创建一个文件:cat > filename 只能创建新文件,不能编辑已有文件.
- 将几个文件合并为一个文件:cat file1 file2 > file
- 常用参数:
- -A 等价于 -vET
- -b 对非空输出行编号
- -e 等价于 -vE
- -E 在每行结束处显示$
- 命令格式: nl [选项] 文件
- 命令功能: nl 命令读取 File 参数(缺省情况下标准输入),计算输入中的行号,将计算过的行号写入标准输出。 在输出中,nl 命令根据您在命令行中指定的标志来计算左边的行。 输入文本必须写在逻辑页中。每个逻辑页有头、主体和页脚节(可以有空节)。 除非使用 -p 标志,nl 命令在每个逻辑页开始的地方重新设置行号。 可以单独为头、主体和页脚节设置行计算标志(例如,头和页脚行可以被计算然而文本行不能)。
- 命令格式: more [-dlfpcsu ] [-num ] [+/pattern] [+linenum] [file]
- 命令功能: more命令和cat的功能一样都是查看文件里的内容,但有所不同的是more可以按页来查看文件的内容,还支持直接跳转行等功能。
- 常用参数:
- +n 从笫n行开始显示
- -n 定义屏幕大小为n行
- +/pattern 在每个档案显示前搜寻该字串(pattern),然后从该字串前两行之后开始显示
- -c 从顶部清屏,然后显示
- 命令格式: less [选项] 文件
- 命令功能: less与more类似,但使用less可以随意浏览文件,而more仅能向前移动,却不能向后移动,而且less在查看之前不会加载整个文件。
- 命令格式: head [选项] 文件
- 命令功能: head用来显示档案的开头至标准输出中,默认head命令打印其相应文件的开头10行。
- 常用参数:
- -q 隐藏文件名
- -v 显示文件名
- -c 显示字节数
- -n 显示的行数
- 命令格式: tail [必要参数] [选择参数] 文件
- 命令功能: 用于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理。常用查看日志文件。
- 命令格式: ln [参数] [源文件或目录名] [目标文件或目录名]
- 命令功能: Linux文件系统中,有所谓的链接(link),我们可以将其视为档案的别名,而链接又可分为两种 : 硬链接(hard link)与软链接(symbolic link),硬链接的意思是一个档案可以有多个名称,而软链接的方式则是产生一个特殊的档案,该档案的内容是指向另一个档案的位置。硬链接是存在同一个文件系统中,而软链接却可以跨越不同的文件系统。
- 软链接:
- 软链接,以路径的形式存在。类似于Windows操作系统中的快捷方式
- 软链接可以跨文件系统,硬链接不可以
- 软链接可以对一个不存在的文件名进行链接
- 软链接可以对目录进行链接
- 硬链接:
- 硬链接,以文件副本的形式存在。但不占用实际空间。
- 不允许给目录创建硬链接
- 硬链接只有在同一个文件系统中才能创建
- 有两点要注意:
- ln命令会保持每一处链接文件的同步性,也就是说,不论你改动了哪一处,其它的文件都会发生相同的变化;
- ln的链接又分软链接和硬链接两种,软链接就是ln –s 源文件 目标文件,它只会在你选定的位置上生成一个文件的镜像,不会占用磁盘空间,硬链接 ln 源文件 目标文件,没有参数-s, 它会在你选定的位置上生成一个和源文件大小相同的文件,无论是软链接还是硬链接,文件都保持同步变化。 ln指令用在链接文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则会把前面指定的所有文件或目录复制到该目录中。若同时指定多个文件或目录,且最后的目的地并非是一个已存在的目录,则会出现错误信息。
- 命令参数:
- 必要参数:
- -b 删除,覆盖以前建立的链接
- -d 允许超级用户制作目录的硬链接
- -f 强制执行
- -i 交互模式,文件存在则提示用户是否覆盖
- -n 把符号链接视为一般目录
- -s 软链接(符号链接)
- -v 显示详细的处理过程
- 选择参数:
- -S “-S<字尾备份字符串> ”或 “--suffix=<字尾备份字符串>”</li>
- -V “-V<备份方式>”或“--version-control=<备份方式>”</li>
- --help 显示帮助信息
- --version 显示版本信息 </ul> </ul>
- 常用范例: 例1:给文件创建软链接
(5) rm命令
rm是常用的命令,该命令的功能为删除一个目录中的一个或多个文件或目录,它也可以将某个目录 及其下的所有文件及子目录均删除。对于链接文件,只是删除了链接,原有文件均保持不变。
例1:删除文件file,系统会先询问是否删除
命令:rm 文件名
例2:强行删除file,系统不再提示
命令:rm -f log1.log
例3:将 test2 子目录及子目录中所有档案删除,并且不用一一确认
命令:rm -rf test2
例4:删除任何.log文件;删除前逐一询问确认
命令:rm -i \*.log
例5:删除以-f开头的文件
命令:rm -- -f
(6) rmdir命令
mdir是常用的命令,该命令的功能是删除空目录,一个目录被删除之前必须是空的。 (注意,rm - r dir命令可代替rmdir,但是有很大危险性。)删除某目录时也必须具有对父目录的写权限。
(7) mv命令
mv命令是move的缩写,可以用来移动文件或者将文件改名(move (rename) files), 是Linux系统下常用的命令,经常用来备份文件或者目录。
例1:文件改名
命令:mv test.log test1.txt
例2:移动文件
命令:mv test1.txt test3
例3:将文件log1.txt,log2.txt,log3.txt移动到目录test3中
命令:mv log1.txt log2.txt log3.txt test3
mv -t /opt/soft/test/test4/ log1.txt log2.txt log3.txt
例4:目录的移动
命令:mv dir1 dir2
例5:移动当前文件夹下的所有文件到上一级目录
命令:mv \* ../
例6:把当前目录的一个子目录里的文件移动到另一个子目录里
命令:mv test3/\*.txt test5
(8) cp命令
cp命令用来复制文件或者目录,是Linux系统中最常用的命令之一。一般情况下,shell会 设置一个别名,在命令行下复制文件时,如果目标文件已经存在,就会询问是否覆盖,不管 你是否使用-i参数。但是如果是在shell脚本中执行cp时,没有-i参数时不会询问是否覆盖。 这说明命令行和shell脚本的执行方式有些不同。
(9) touch命令
Linux的touch命令不常用,一般在使用make的时候可能会用到,用来修改文件时间戳, 或者新建一个不存在的文件。
例1:创建不存在的文件
命令:touch log2012.log log2013.log
例2:更新log.log的时间和log2012.log时间戳相同
命令:touch -r log.log log2012.log
例3:设定文件的时间戳
命令:touch -t 201211142234.50 log.log
(10) cat命令
cat命令的用途是连接文件或标准输入并打印。这个命令常用来显示文件内容,或者将几个文件连接起来显示,或者从标准输入读取内容并显示,它常与重定向符号配合使用。
(11) nl命令
nl命令在Linux系统中用来计算文件中行号。nl可以将输出的文件内容自动的加上行号!其默认的结果与 cat -n 有点不太一样, nl 可以将行号做比较多的显示设计,包括位数与是否自动补齐0等等的功能。
(12) more命令
more命令,功能类似 cat ,cat命令是整个文件的内容从上到下显示在屏幕上。 more会以一页一页的显示方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示,而且还有搜寻字串的功能 。more命令从前向后读取文件,因此在启动时就加载整个文件。
(13) less命令
less工具也是对文件或其它输出进行分页显示的工具,应该说是linux正统查 看文件内容的工具,功能极其强大。less 的用法比起 more 更加的有弹性。 在more的时候,我们并没有办法向前面翻,只能往后面看,但若使用了less时, 就可以使用[pageup][pagedown]等按键的功能来往前往后翻看文件,更容易用来 查看一个文件的内容!除此之外,在 less 里头可以拥有更多的搜索功能,不止可 以向下搜,也可以向上搜。
(14) head命令
head与tail就像它的名字一样的浅显易懂,它是用来显示开头或结尾某个数量的文字区块,head 用来显示档案的开头至标准输出中,而tail想当然尔就是看档案的结尾。
(15) tail命令
tail 命令从指定点开始将文件写到标准输出.使用tail命令的-f选项可以方便的查阅正在改变的日志文件,tail -f filename会把filename里最尾部的内容显示在屏幕上,并且不但刷新,使你看到最新的文件内容.
(16) ln命令
ln是Linux中又一个非常重要命令,它的功能是为某一个文件在另外一个位置建立一个同步的链接.当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在某个固定的目录,放上该文件,然后在 其它的目录下用ln命令链接(link)它就可以,不必重复的占用磁盘空间。
命令:ln -s log2013.log link2013
命令:ls -lR /home/peidachang
命令:ln log2013.log ln2013
命令:ln log2013.log test3
命令:ln -sv /opt/soft/test/test3 /opt/soft/test/test5
