常用的Linux命令
一、 文件目录操作命令
(一) ls命令
功能:列出目标目录中所有的子目录和文件
格式:ls [选项] [目录名]
参数:-a ,-all 列出目录下的所有文件,包括.开头的隐藏文件
-A同-a,但不列出“.”(表示当前目录)和“..”(表示当前目录的父目录)
-s,-size以块大小为单位列出所有文件的大小
-t 以文件修改时间排序
(二) cd命令
功能:切换当前目录至dirName
格式:cd [目录名]
常用命令实例:
A、 进入系统根目录 cd /
B、 返回之前所在的目录 cd –
C、 进入指定目录 cd /home/nmstest/service
(三) pwd命令
功能:查看“当前工作目录”的完整路径
参数:一般情况下不带任何参数,如果目录是链接时,pwd –p 显示出实际路径
常用实例:
A、 用pwd命令查看默认工作目录的完整路径 pwd
B、 使用pwd 命令查看指定文件夹 cd services pwd
(四) mkdir命令
功能:通过mkdir命令可以实现在指定位置创建以DirName(指定的文件名)命名的文件夹或目录,要创建文件夹或目录的用户必须对所创建的文件夹的父文件夹具有写权限,并且,所创建的文件(目录) 不能与其父目录(即父文件夹)中的文件名重名,即同一个目录下不能有同名的(区分大小写)
命令格式:mkdir [选项]目录
命令参数:-p 一次可以建立多个目录
实例:递归创建多个目录 mkdir –p test2/test22
(五) rm命令
功能:删除一个目录中的一个或多个文件或目录,如果没有使用-r选项,则rm不会删除目录,如果使用rm来删除文件,通常仍可以将该文件恢复原状
格式 rm [选项] 文件…..
命令参数:-f 忽略不存在的文件,从不给出提示
-r 指示rm将参数中列出的全部目录和子目录均递归的地删除
命令实例:
A、 删除文件file,系统会先询问是否删除 rm file
B、 强行删除file,系统不再提示 rm –f file
C、 删除任何.log文件,删除前逐一询问确认 rm –I *.log
D、 将test1子目录及子目录中所有档案删除 rm –r test1
E、 将test2子目录及子目录中所有档案删除,并且不用一一确认
rm –rf test2
F、 删除以-f开头的文件 rm -- -f
(六) rmdir命令
功能:该命令从一个目录中删除一个或多个子目录项,删除某目录时也必须具有对父目录的写权限
命令参数:-p 递归删除目录dirname,当子目录删除后其父目录为空,也一同被删除,如果整个路径被删除或者由于某种原因保留部分路径,则系统在标准输出上显示相应的信息
命令实例
A、rmdir doc(rmdir命令不能删除非空目录)
(七) mv命令
功能:用来移动文件或者文件改名(move files),也可以用来备份文件或者目录
命令格式:mv [选项] 源文件或目录 目标文件或目录
(八) cp 命令
功能:将源文件复制目标文件,或将多个源文件复制至目标目录
用法:cp [选项] 源 目录
(九) touch命令
功能:touch名利参数可以更改文档或目录的日期时间,包括存取时间和更改时间
命令格式:touch [选项] 文件
使用范例:
A、 创建不存在的文件 touch test1 test2
B、 更新test1 的时间和test2的时间戳相同 touch –r test1 test2
C、 设定文件的时间戳 touch –t 201312131554 test1
(十) cat命令
功能:
A、 一次显示整个文件 cat filename
B、 从键盘创建一个文件 cat filename只能创建新文件,不能编辑已有文件
C、 将几个文件合并为一个文件 cat ffile1 file2 file
命令格式 cat [选项] [文件]…
(十一) nl命令
功能:用来计算文件中行号
命令格式:nl [选项] … [文件]….
(十二) more命令
功能:more命令和cat的功能一样都是查看文件里的内容,但有所不同的是more可以按页来查看文件的内容,还支持直接跳转行等功能
命令参数:
+n 从笫n行开始显示
-n 定义屏幕大小为n行
+/pattern 在每个档案显示前搜寻该字串(pattern),然后从该字串前两行之后开始显示
-c 从顶部清屏,然后显示
-d 提示“Press space to continue,’q’ to quit(按空格键继续,按q键退出)”,禁用响铃功能
-l 忽略Ctrl+l(换页)字符
-p 通过清除窗口而不是滚屏来对文件进行换页,与-c选项相似
-s 把连续的多个空行显示为一行
-u 把文件内容中的下画线去掉
常用操作命令:
A、 Enter 向下n行,默认为1行
B、 Ctrl +F 向下滚动一屏
C、 空格键 向下滚动一屏
D、 Crtl+B 返回上一屏
E、 = 输出当前行的行号
F、 :f 输出文件名和当前行的行号
G、 V 调用vi编辑器
H、 !调用shell命令,并执行命令
I、 q退出more
命令实例:
A、 显示文件中从第3行起的内容 more +3 test.txt
B、 从文件中查找第一个出现‘day3’字段的行,并从该处前两行开始显示输出命令 more +/day3 test.txt
(十三) less命令
命令功能:less与more类似,但使用less可以随意浏览文件,而more仅能向前移动,但不能向后移动,而且less在查看之前不会加载整个文件
命令格式:
less[参数] 文件
命令参数:
/字符串:向下搜索“字符串”的功能
?字符串:向上搜索“字符串”的功能
n:重复前一个搜索(与 / 或 ? 有关)
N:反向重复前一个搜索(与 / 或 ? 有关)
b 向后翻一页
d 向后翻半页
h 显示帮助界面
Q 退出less 命令
u 向前滚动半页
y 向前滚动一行
空格键 滚动一行
回车键 滚动一页
[pagedown]: 向下翻动一页
[pageup]: 向上翻动一页
使用实例:
A、 查看文件 :less error.log
B、 查看历史命令历史使用记录并通过less分页显示: history|less
C、 浏览多个文件:less error.log error1.log error2.log
输入:n后,切换到error2.log
输入:p后,切换到error.log
D、 附件备注
1.全屏导航
ctrl + F - 向前移动一屏
ctrl + B - 向后移动一屏
ctrl + D - 向前移动半屏
ctrl + U - 向后移动半屏
2.单行导航
j - 向前移动一行
k - 向后移动一行
3.其它导航
G - 移动到最后一行
g - 移动到第一行
q / ZZ - 退出 less 命令
4.其它有用的命令
v - 使用配置的编辑器编辑当前文件
h - 显示 less 的帮助文档
&pattern - 仅显示匹配模式的行,而不是整个文件
(十四) head命令
命令功能:head用来显示档案的开头至标准输出中,默认head命令打印其相应文件的开头10行
命令格式:head [参数] [文件]
命令参数:
-q 隐藏文件名
-v 显示文件名
-c 显示字节数
-n 显示的行数
使用实例:
A、 显示文件的前n行:head –n 5 error.log
B、 输入文件除了最后n行的全部内容 head –n -6 error.log
(十五) tail命令
命令功能:用于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理,常用来查看日志文件
命令格式:tail [必要参数] [选择参数] [文件]
命令参数:
-f 循环读取
-q 不显示处理信息
-v 显示详细的处理信息
-c 显示的字节数
-n 显示行数
--pid=PID 与-f合用,表示在进程ID,PID死掉之后结束.
-q, --quiet, --silent 从不输出给出文件名的首部
-s, --sleep-interval=S 与-f合用,表示在每次反复的间隔休眠S秒
使用实例:
A、 显示文件末尾内容 tail –n 5 error.log
B、 循环显示文件内容 tail –f error.log
C、 从第5行开始显示文件 tail –n +5 error.log
二、 文件查找命令
(十六) which命令
命令功能:会在PATH变量指定的路径总,搜索某个系统命令的位置,并返回第一个搜索结果
命令格式:which可执行文件名称
使用实例:
A、 查找文件、显示命令路径 which less
(十七) whereis命令
命令功能:whereis命令是定位可执行文件、源代码文件、帮助文件在文件系统中的位置。这些文件的属性应属于原始代码,二进制文件,或是帮助文件。whereis 程序还具有搜索源代码、指定备用搜索路径和搜索不寻常项的能力。
命令格式:whereis [-bmsu] [BMS 目录名 -f] 文件名
命令参数:
-b 定位可执行文件。
-m 定位帮助文件。
-s 定位源代码文件。
-u 搜索默认路径下除可执行文件、源代码文件、帮助文件以外的其它文件。
-B 指定搜索可执行文件的路径。
-M 指定搜索帮助文件的路径。
-S 指定搜索源代码文件的路径。
使用实例:
A、将和svn文件有关的文件都查找出来 whereis svn
B、只将二进制文件查找出来 whereis –b svn
(十八) locate命令
命令格式:locate [选择参数] [样式]
命令功能:
locate命令可以在搜寻数据库时快速找到档案,数据库由updatedb程序来更新,updatedb是由cron daemon周期性建立的,locate命令在搜寻数据库时比由整个由硬盘资料来搜寻资料来得快,但较差劲的是locate所找到的档案若是最近才建立或 刚更名的,可能会找不到,在内定值中,updatedb每天会跑一次,可以由修改crontab来更新设定值。(etc/crontab)
locate指定用在搜寻符合条件的档案,它会去储存档案与目录名称的数据库内,寻找合乎范本样式条件的档案或目录录,可以使用特殊字元(如”*” 或”?”等)来指定范本样式,如指定范本为kcpa*ner, locate会找出所有起始字串为kcpa且结尾为ner的档案或目录,如名称为kcpartner若目录录名称为kcpa_ner则会列出该目录下包括 子目录在内的所有档案。
locate指令和find找寻档案的功能类似,但locate是透过update程序将硬盘中的所有档案和目录资料先建立一个索引数据库,在 执行loacte时直接找该索引,查询速度会较快,索引数据库一般是由操作系统管理,但也可以直接下达update强迫系统立即修改索引数据库。
命令参数:
-e 将排除在寻找的范围之外。
-1 如果 是 1.则启动安全模式。在安全模式下,使用者不会看到权限无法看到 的档案。这会始速度减慢,因为 locate 必须至实际的档案系统中取得档案的 权限资料。
-f 将特定的档案系统排除在外,例如我们没有到理要把 proc 档案系统中的档案 放在资料库中。
-q 安静模式,不会显示任何错误讯息。
-n 至多显示 n个输出。
-r 使用正规运算式 做寻找的条件。
-o 指定资料库存的名称。
-d 指定资料库的路径
-h 显示辅助讯息
-V 显示程式的版本讯息
使用实例:
A、 查找和pwd相关的所有文件:locate pwd
B、 搜索etc目录下,所有以m开头的文件:locate /etc/m
(十九) find命令
命令功能:用于在文件树中查找文件,并作出相应的处理
命令格式:find pathname –options [-ptint –exec -ok]
命令参数:
A、 pathname:find命令查找的目录路径,例如用.表示当前目录,用/表示系统根目录
B、 -print:find命令将匹配的文件输出到标准输出
C、 -exec:find命令对匹配的文件执行该参数所给出的shell命令
命令选项:
A、-name 按照文件名查找文件
B、-mtime -n +n 按照文件的更改时间来查找文件, - n表示文件更改时间距现在n天以内,+ n表示文件更改时间距现在n天以前。find命令还有-atime和-ctime 选项,但它们都和-m time选项
C、-amin n 查找系统中最后N分钟访问的文件
-atime n 查找系统中最后n*24小时访问的文件
-cmin n 查找系统中最后N分钟被改变文件状态的文件
-ctime n 查找系统中最后n*24小时被改变文件状态的文件
-mmin n 查找系统中最后N分钟被改变文件数据的文件
-mtime n 查找系统中最后n*24小时被改变文件数据的文件
使用实例:
A、 查找指定时间内修改过的文件:find –atime -2 (超找48小时内修改过的文件)
B、 根据关键字查找 find . –name “.log” (在当前目录查找 以.log结尾的文件。 ". "代表当前目录 )
C、 按照类型查找文件 find . –type f –name “.log” (查找当前目录,以.log结尾的普通文件)
三、 文件打包上传和下载
(二十) tar命令
命令功能:用来压缩和解压文件。tar本身不具有压缩功能,它是调用压缩功能实现的
命令格式:tar[必要参数][选择参数] [文件]
命令参数:
必要的参数如下:
A. -A新增压缩文件到已存在的压缩
B. -B设置区块大小
C. -c 建立新的压缩文件
D. -d 记录文件的差别
E. –r 添加文件到已经压缩的文件
F. –u 添加改变了和现有的文件到已存在的压缩文件
G. –x 添加了改变了和现有的文件到已经存在的压缩文件
H. –t 显示压缩文件的内容
I. –z支持gzip解压文件
J. –j支持bzip2解压文件
K. –z支持compress解压文件
L. –v显示操作过程
M. –l文件系统边界设置
N. –k保留原有文件不覆盖
O. –m保留文件不被覆盖
P. –w确认压缩文件的正确性
常见解压/压缩命令:
A. Tar
解包:tar xvf FileName.tar
打包:tar cvf FileName.tar DirName(tar是打包,不是压缩)
B. .gz
解压1:gunzip FileName.gz
解压2:gip –d FileName.gz
压缩:gzip和FileName
C. .tar.gz 和 .tgz
解压:tar zxvf FileName.tar.gz
压缩:tar zcvf FileName.tar DirName
D. .bz2
解压1:bzip2 –d FileName.bz2
解压2:bunzip2 FileName.bz2
压缩:bzip2 –z FileName
E. .tar.bz2
解压:tar jxvf FileName.tar.bz2
压缩:tar jcvf FileName.tar.bz2 DirName
F. .bz
解压1:bzip2 -d FileName.bz
解压2:bunzip2 FileName.bz
压缩:未知
G. .tar.bz
解压:tar jxvf FileName.tar.bz
压缩:未知
H. .Z
解压:uncompress FileName.Z
压缩:compress FileName
I. .tar.Z
解压:tar Zxvf FileName.tar.Z
压缩:tar Zcvf FileName.tar.Z DirName
J. .zip
解压:unzip FileName.zip
压缩:zip FileName.zip DirName
K. .rar
解压:rar x FileName.rar
压缩:rar a FileName.rar DirName
使用实例:
A. 将文件全部打包成tar包:
tar –cvf log.tar log.log (仅打包,不压缩)
tar –zcvf log.tar.gz log.log(打包后,以gzip压缩)
tar –jcvf log.tar.bz2 log.log (打包后,以bzip2压缩)
B. 将tar包解压缩
tar –zxvf /home/nmstest/logs/error.tar.gz
C. 文件备份下来,并且保持其权限
tar –zcvpf log3.tar.gz log1.log log2.log
(二十一) gzip命令
命令功能:gzip是个实用广泛的压缩程序,文件经它压缩过后,其名称后面会多出“.gz”的扩展名
命令格式:
gzip [参数] [文件或者目录]
命令参数:
i. a或--ascii 使用ASCII文字模式。
ii. -c或--stdout或--to-stdout 把压缩后的文件输出到标准输出设备,不去更动原始文件。
iii. -d或--decompress或----uncompress 解开压缩文件。
iv. -f或--force 强行压缩文件。不理会文件名称或硬连接是否存在以及该文件是否为符号连接。
v. -h或--help 在线帮助。
vi. -l或--list 列出压缩文件的相关信息。
vii. -L或--license 显示版本与版权信息。
viii. -n或--no-name 压缩文件时,不保存原来的文件名称及时间戳记。
ix. -N或--name 压缩文件时,保存原来的文件名称及时间戳记。
x. -q或--quiet 不显示警告信息。
xi. -r或--recursive 递归处理,将指定目录下的所有文件及子目录一并处理。
xii. -S或----suffix 更改压缩字尾字符串。
xiii. -t或--test 测试压缩文件是否正确无误。
xiv. -v或--verbose 显示指令执行过程。
xv. -V或--version 显示版本信息。
xvi. -num 用指定的数字num调整压缩的速度,-1或--fast表示最快压缩方法(低压缩比),-9或--best表示最慢压缩方法(高压缩比)。系统缺省值为6。
使用实例:
四、 网络命令
(二十二) rcp命令
命令功能:用在远程复制文件或目录,如同时制定两个以上的文件或目录,且最好的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到该目录中
命令格式:rcp [参数] [源文件] [目标文件]
使用实例:
A. 将当前目录下的test1复制到名为nmstest的远程系统
rcp test1 nmstest:/home/nmstest/services/temp
B. 从远程系统复制文件:要将远程系统中的文件复制到本地目录下命令
rcp remote_hostname:remote_file local_fileEnter
C. 将远程系统nmstest中的test复制到当前目录
D. rcp nmstest:/home/root/test2 .Enter
如果希望将 test2 复制到本地系统中的其他目录下,请使用以下绝对或相对路径名:
rcp webserver1:/home/root/test2 otherdir/ Enter
或者,如果希望用其他文件名将文件复制到其他目录下:
rcp webserver1:/home/root/test2 otherdir/otherfile Enter
E. 将目录复制到远程系统:要将本地目录及其文件和子目录复制到远程系统,请同时使用rcp和-r(递归选项)
rcp –r local_dir remote_hostname:remote_dir Enter
(二十三) scp命令
命令功能:
scp是 secure copy的缩写, scp是linux系统下基于ssh登陆进行安全的远程文件拷贝命令。linux的scp命令可以在linux服务器之间复制文件和目录。
命令格式:scp [参数] [原路径] [目标路径]
使用实例:
A. 从远程复制文件到本地目录
scp boss@192.168.26.207:/home/nmstest/server/temp.txt /home/test
B. 上传本地文件到远程机器指定目录
scp /home/test/1.txt boss@192.168.26.207:/home/nmstest/server
五、 其他命令
(二十四) grep命令
命令功能:用于过滤/搜索的特定字符。可使用正则表达式能多种命令配合使用
命令格式:grep [option] pattern file
使用实例:
A. 查找指定进程
ps –ef |grep svn
备注:第一条记录是查找出的进程,第二条结果是grep进程本身,并非真正要找的进程
B. 查找指定进程个数:
ps –ef |grep –c svn 或ps –ef |grep –c svn
(二十五) ps命令
kill 命令用于杀死进程。
linux上进程有5种状态:
1. 运行(正在运行或在运行队列中等待)
2. 中断(休眠中, 受阻, 在等待某个条件的形成或接受到信号)
3. 不可中断(收到信号不唤醒和不可运行, 进程必须等待直到有中断发生)
4. 僵死(进程已终止, 但进程描述符存在, 直到父进程调用wait4()系统调用后释放)
5. 停止(进程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信号后停止运行运行)
ps工具标识进程的5种状态码:
D 不可中断 uninterruptible sleep (usually IO)
R 运行 runnable (on run queue)
S 中断 sleeping
T 停止 traced or stopped
Z 僵死 a defunct (”zombie”) process
命令功能:用来显示当前进程的状态
命令格式:ps [参数]
命令参数:
a 显示所有进程
-a 显示同一终端下的所有程序
-A 显示所有进程
c 显示进程的真实名称
-N 反向选择
-e 等于“-A”
e 显示环境变量
f 显示程序间的关系
-H 显示树状结构
r 显示当前终端的进程
T 显示当前终端的所有程序
u 指定用户的所有进程
-au 显示较详细的资讯
-aux 显示所有包含其他使用者的行程
-C 列出指定命令的状况
--lines 每页显示的行数
--width 每页显示的字符数
--help 显示帮助信息
--version 显示版本显示
使用实例:
A. 显示所有进程信息:ps –A
B. 显示指定用户信息 ps –u root
C. 显示所有进程信息,连同命令行 ps-ef
D. ps与grep 常用组合用法,查找特定进程 ps –ef|grep ssh
E. 列出目前所有的正在内存当中的程序 ps aux
在做项目时,多多少少都会把项目工程放到Linux环境进行搭建新的项目环境用来测试,所以掌握一些基本的Linux命令很有必要,这些命令都是我在开发学习中用到总结的,希望对那些有需要的人有些帮助。。。。