linux常用命令
cd命令 进入所需目录。
cd / 转到根目录中
cd ~ 转到/home/user用户目录下
cd /usr 转到根目录下的usr目录中
cd file 转到当前目录下的file子目录中
ls命令 用来查看目录的内容。
参数
-a 列举目录中的全部文件,包括隐藏文件
-l 列举目录中的细节,包括权限、所有者、组群、大小、创建日期、文件是否是链接等
-f 列举的文件显示文件类型
-r 逆向,从后向前地列举目录中内容
-R 递归,该选项递归地列举当前目录下所有子目录内的内容
-s 大小,按文件大小排序
-h 以人类可读的方式显示文件的大小,如用K、M、G作单位
pwd命令 输出当前目录路径。
cat命令 可以用来合并文件,也可以用来在屏幕上显示整个文件的内容,ctrl+D退出cat。
cat -b //显示行号
grep命令 查找一个特定的字符串,grep查找是区分大小写的。
grep -i //不区分大小写
touch命令 用来创建新文件,他可以创建一个空白的文件,可以在其中添加文本和数据。
eg:touch file 该命令创建一个名为file的空白文件。
cp命令 用来拷贝文件,要复制文件,输入命令:
参数
-i 互动:如果文件将覆盖目标中的文件,他会提示确认
-r 递归:这个选项会复制整个目录树、子目录以及其他
-v 细节:显示文件的复制进度
格式:cp <源文件> <目标文件>
eg:cp file Document/a 该命令将把文件file复制到Document目录下,并命名为a。
mv命令 用来移动文件。
参数
-i 互动:如果选择的文件会覆盖目标中的文件,他会提示确认
-f 强制:它会超越互动模式,不提示地移动文件,属于很危险的选项
-v 详细:显示文件的移动进度
eg:mv t.txt Document 把文件t.txt 移动到目录Document中。
rm命令 用来删除文件。
参数
-i 互动:提示确认删除
-f 强制:代替互动模式,不提示确认删除
-v 详细:显示文件的删除进度
-r 递归:将删除某个目录以及其中所有的文件和子目录
eg:rm -rf t.txt 该命令递归强制删除文件t.txt
rmdir命令 用来直接删除目录。
mkdir -p //创建多级目录
mount命令 用来挂载文件系统,可以挂载硬盘、光盘、软盘,也可以挂载NFS网络文件系统。
参数
-a 挂上/etc/fstab下的全部文件系统
-t 制定所挂上来的文件系统的名称,所有系统支持的文件系统,这个信息可以在/proc/filesystems这个文件里看到
-n 挂上文件系统,但是不把文件系统的数据写入/etc/mtlab这个文件
-w 将文件系统设为可读写
-r 挂上来的文件系统设为只读
格式:mount -t 设备类型 存放目录
eg:mount –t iso9660 /dev/hdb /mnt 在目录/mnt下,挂上iso9660文件系统。
umount命令 卸载已挂上的文件系统,在关闭系统前应该把所有挂载上的文件系统卸载。和mount命令是相对的。格式:umount 已挂上的目录或设备
eg:卸载已挂上的/mnt目录,输入命令:umount /mnt
eg:卸载已挂上的某个分区,输入命令:umount /dev/hdb1
df命令 检查硬盘分区和已挂在的文件系统的磁盘空间,或检查硬盘的使用量。
参数
-a 把全部的文件系统和各分区的硬盘使用情形列出来,包括0区块。
-i 列出I-nodes的使用量
-k 把各分区的大小和挂上来的文件分区的大小用k表示
-t 列出某一文件系统的所有分区磁盘空间使用量
-x 列出不是某一文件系统的所有分区磁盘空间使用量,和-t选项相反
-T 列出每个分区所属文件系统的名称
格式:df [-参数]
eg:df -a 要列出全部文件系统和各分区的磁盘使用情况
du命令 用于显示文件目录或大小。
参数
-a 显示全部目录及其目录下的每个文件所占的磁盘空间
-b 显示目录和文件的大小,以B为单位
-c 最后再加上一个总计
-h 以KB、MB、GB为单位,提高信息可读性
-s 只列出各文件大小的总和
-x 只计算属于同一文件系统的文件
格式:du [-参数]
eg : du -sh
bzip2命令 压缩文件
eg:bzip2 file 文件被压缩,并被保存为file.bz2。
eg:bunzip2 file.bz2 解压缩文件,file.bz2会被删除,而以file代替。
eg:bzip2 file.bz2 file1 file2 file3 /usr/test/book 把file1、file2、file3以及/usr/work/book目录中的内容压缩起来放入filename.bz2。
gzip命令和zip命令都可以用来压缩,用法和上面bzip2类似。
tar命令 备份所有的文件,把大量的文件和目录打包成一个文件。
参数
-c 创建一个新归档
-f 当与-c选项一起使用时,创建的tar文件使用该选项指定的文件名;当与-x选项一起使用时,则解除该选项指定的归档
-t 显示包括在tar文件中的文件列表
-v 显示文件的归档进度
-x 从归档中抽取文件
-z 使用gzip压缩tar文件
-j 使用bzip2压缩tar文件
eg:tar –cvf file.tar directory/file /home/test 将directory/file、/home/test放入归档文件中。
eg:tar –tvf file.tar 列出tar文件的内容
eg:tar –cjvf file.tbz filetar 默认不压缩文件。要创建一个使用tar和bzip2来归档压缩的文件,使用参数-j
若使用bunzip2命令解压file.tbz文件,则file.tbz会被删除,以file.tar代替。
若使用gunzip命令解压file.tgz文件,则file.tgz会被删除,以file.tar代替。
head命令 可以用来查看文件的开头部分。
格式:head 文件名
eg:head –20 文件名 查看文件的前20行。
tail命令 可以查看文件结尾的行数。
eg:用tail观察日志文件更新的过程。
eg:tail –f /var/log/messages 动态地观察/var/log/messages,-f参数,tail会自动实时地把打开文件中的新信息显示到屏幕上
more命令和less命令
more和less的主要区别:less允许使用箭头来前后移动,而more使用空格键和b键来前后移动。两个命令的用法类似。
more命令:
参数
-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行开始显示
格式:more [参数] [filename]
eg:more -s testfile 逐页显示testfile之档案内容,如有连续两行以上空白行则以一行空白行显示。
eg:more +20 testfile 从第20行开始显示testfile之档案内容。
shutdown命令 要使用此命令必须保证是根用户,否则使用su命令改变为根用户。
参数
-k 不是真正的关机,只是发出警告命令
-r 关机后重启
-t 在规定的时间内关机
格式:shutdown –(参数)
eg:shutdown –t 2 在2min内关机
eg:shutdown –r 关机后重启
reboot命令 关机命令,若不加任何参数,系统会以最快的速度关机,且不将内存或缓冲区里的东西写回硬盘。
参数
-d 不把记录写到/var/log/wtmp档案里(-n这个参数包含了-d)
-f 强迫重开机,不呼叫shutdown这个指令
-n 在重开机前不做将记忆体资料写回硬盘
-w 并不会真的重开机,只是把记录写到/var/log/wtmp档案里
ps命令 用来查看在计算机系统中有哪些程序正在执行,及其执行的情况。
参数
-l 用长格式列出
-u 列出使用者的名称和使用时间
-m 列出内存分布的情况
-r 只列出正在执行的前台程序,不列出其他信息
-x 列出所有程序,包括那些没有终端机的程序
格式:ps [-参数]
top命令 查看目前程序的执行情景和内存使用。和ps类似,但top会几秒钟更新一次系统状态,方便追踪。按Ctrl+C键可以离开此程序。
kill命令 用来终止一个正在执行中的进程。如果一个程序执行过程中失败了,可以把这个程序终止,避免留在内存中占用系统资源。
参数
-l 列出所有可用的信号名称
信号 1 reload进程
信号 2 ctrl +c 删除进程在内存中的信息
信号 3 内存中的鼠标信息清除ctrl \
信号 9 强行关闭进程
信号 15 正常关闭进程
信号 18 开启停止的进程
信号 19 停止正在运行的进程
信号 20 ctrl +z
-p 印出pid并不发送信号
-signal 其中可用的讯号有 HUP (1), KILL (9), TERM (15), 分别代表著重跑, 砍掉, 结束
格式:kill [-参数] pid
eg:kill 90 终止pid为90的程序(在执行kill命令前,可以先用ps命令查一下某宕掉程序的pid,然后使用kill除去某个程序。)
eg:kill -9 323 将 pid 为 323 的行程砍掉
eg:kill -HUP 456 将 pid 为 456 的行程重跑
date命令 用来显示、设定和修改现在的时间和日期。
格式:date [–参数] 显示时间格式(以+号开头,后加格式)
参数
-u 使用格林尼治时间
-r 最后一次修改文件的时间
-s 设置时间
date 设定时间格式
常用的几种时间格式如下所示:
格式 说明
%a 星期几的简称,例如一、二、三
%A 星期几的全名,例如星期一、星期二
%D 日期(mm/dd/yy格式)
%T 显示时间格式,24小时制(hh:mm:ss)
%x 显示日期的格式(mm/dd/yy)
%y 年的最后两个数字
%Y 年(如2007、2008)
%r 时间(hh:mm:ss 上午或下午)
%p 显示上午或下午
eg:date “+%x,%r” 2010年3月26日,下午 18时06分49秒
cal命令 显示月历以及年历。
直接输入cal命令则系统会显示目前月份的月历。
eg:cal 2008 显示2008年的年历
eg:cal 08 显示公元8年的年历。
eg:cal 月份 公元年份 查看某一年份中某一月份的月历
eg:cal 10 2008 查看2008年10月的月历
chmod命令 用来改变许可权限。读取、写入和执行是许可权限中的三个主要设置。
可以用ls -l命令来仔细查看一个文件的细节。
r—文件可以被读取
w—文件可以被写入
x—文件可以被执行,如果文件是程序的话
eg:chmod a-rwx test.txt 删除某一文件的所有权限
eg:chmod u+rwx test 为文件所有者添加rwx权限,输入命令:
也可用数字表示权限:4——读取,2——写入,1——执行。
eg:chmod 751 file == chmod u+rwx,g=rx,0=x file 两个命令等价
su命令 用来修改用户。可以让一个普通的使用者拥有超级用户或其他使用者的权限。
su 用户名 (如果没有输入用户名则默认为root)
eg:假设当前用户user01,想要转变为user02,则输入su user02
useradd命令 用来添加用户,只有root用户才能增加用户。
格式:useradd 用户名
eg:useradd user1 添加user1用户
man命令 查询和解释一个命令的使用方法和这个命令的注意事项。(会列出一份完整的说明书)
格式:man 命令名称
eg:man vim 列出vim的说明书
man使用说明:使用Page Up和Page Down键,翻阅说明书或使用空格键向后翻一页,b向前翻。
q键,退出说明书页。
输入/和要搜索的关键字或短语,在说明书页中搜索关键字,然后按Enter键即可。
locate命令 定位文件和目录。
eg:locate test 搜索带有test的这个词的文件
locate命令使用数据库来定位带有test这个词的文件或目录。
ftp命令 用来传输文件。
参数
-D 详细显示命令的执行过程,便于排错和分析程序的执行情况
-I 关闭互动模式,不询问任何问题
-G 关闭本地主机文件名称支持特殊字符的扩充特征
-N 不适用自动登录。FTP在启动时,会尝试自动登录远端系统,它会从用户的转述目录中读取.netrc文件的内容,以便自行登录。若该文件不存在,FTP会放弃自动登录,并询问用户的账号名称
-V 显示命令的执行过程
格式:ftp [-参数] 主机名称或IP地址
eg:ftp kiosk.example1.com 登录kiosk.example1.com主机
注意:用户必须有相应的存取权限,否则不能从远程系统中获得文件或向远程系统中传输文件。为了使用ftp来传输文件,用户必须知道远程计算机上的合法用户名和口令。
在ftp下,直接输入bye 可中断目前的连线作业,并结束ftp的执行。
ping命令 查看主机运作正常。它会使用ICMP传输协议,发出要求回应的信息,若远程主机的网络没有什么问题,就会回应正常信息。
参数
-c 设置完成要求回应的次数。ping命令会反复发出信息,直到达到设定的次数为止
-D 使用Socket的SO_DEBUG功能
-F 大量而且快速地送网络封包给一台机器,看它的回应。一般不到几秒钟,送出去的封包就会超过两千个
-I 指定收发信息的间隔时间,单位为s,预置位1s。与参数f不兼容
-S 设置数据包的大小。预设置为56B,加上8B ICMP头文件,共64B
-R 忽略网关,直接将数据保送到远程主机上。如果该主机并非局域网的一份子,就会传回错误信息
-Q 不显示命令的执行过程,只显示结果
-V 详细显示命令的执行过程,包括非回应信息和其它信息
-T 存活数值 设置存活数值TTL的大小。TTL是IP协议包中的一个值,它告诉网络,数据包在网络中的时间是否太长而应被丢弃
格式:ping [-参数] 主机名称或IP地址
eg:ping 172.25.8.250 查看IP地址为172.25.8.250网络功能是否正常
eg:ping –c 5 –i 10 –s 504 –t 64 kiosk.example1.com 查看kiosk.example1.com主机网络功能是否正常,送出去要去信息需完成5次回应,每次间隔10s,数据包的大小为512B
telnet命令 进行远程登录。通过telnet登录计算机,必须知道远程计算机上的合法用户名和口令。
格式:telnet 主机名或IP
eg:telnet 172.25.8.10 登录IP地址为172.25.8.10的计算机
使用logout命令退出远程系统
netstat命令 了解Linux系统的网络情况。
格式:netstat [-参数]
参数
-a 显示所有socket,包括正在监听的。
-c 每隔1秒就重新显示一遍,直到用户中断它。
-i 显示所有网络接口的信息,格式“netstat -i”。
-n 以网络IP地址代替名称,显示出网络连接情形。
-r 显示核心路由表,格式同“route -e”。
-t 显示TCP协议的连接情况
-u 显示UDP协议的连接情况。
-v 显示正在进行的工作。
-p 显示建立相关连接的程序名和PID。
-b 显示在创建每个连接或侦听端口时涉及的可执行程序。
-e 显示以太网统计。此选项可以与 -s 选项结合使用。
-f 显示外部地址的完全限定域名(FQDN)。
-o 显示与每个连接相关的所属进程 ID。
-s 显示每个协议的统计。
-x 显示 NetworkDirect 连接、侦听器和共享端点。
-y 显示所有连接的 TCP 连接模板。无法与其他选项结合使用。
echo命令 在显示器上输出一段文字,这个命令常用来输出一些提示信息。
格式:echo –(参数) 字串
eg:echo “hello,world!”
显示结果为:hello,world!
clear命令 清除显示器,这个命令很简单,只要输入clear即可。
passwd命令 用来修改用户的密码。
eg:passwd user1 修改user1的密码,然后,根据提示输入旧密码和新密码即可。
which命令
说明:依序从path环境变量所列的目录中找出命令的位置,并显示完整路径的名称。在找到第一个符合条件的程序文件时,就立刻停止搜索,省略其余未搜索目录。
格式:which 命令
eg:which man 找出man命令的程序文件的位置
输出结果:/usr/bin/ls
whatis命令 用来查询某个命令的含义。
格式:whatis 命令 (在whatis后加上所要查询的命令,不加任何参数)
eg:whatis rm 查询rm命令的含义
whereis命令
说明:找出特定程序的可执行文件、源代码文件以及manpage的路径。whereis 只会在标准的Linux目录中进行搜索。
参数
-b 只搜索可执行文件。
-m 只搜索manpage。
-s 只搜索源代码文件。
-B directory 更改或限定搜索可执行的文件的目录。
-M directory 更改或限定搜索manpage的目录。
-S directory 更改或限定搜索源代码文件的目录。
格式:whereis [-参数] 名称
find命令 在系统中查找文件。
参数-user 用户
-group 组
条件1 -o 条件2 条件1或者条件2,o即or
条件1 -a 条件2 条件1和条件2,a即and
-type 类型(b块设备c字符设备d目录f普通文件l链接s(socket))
-mmin +/-数字 时间(+1 1min之前 -5 5min之内)
-size 数字|-数字|+数字 查找大小符合条件的文件
-perm 444 文件全权必须时rrr
-perm -444 文件每一位(u,g,o位都要)都要含有r权限
-perm /444 文件任意一位含有r权限
-maxdepth 数字 最深目录层
-mindepth 数字 最小目录层
-exec 命令 {} \; 对查找出的结果做相应处理
格式:find 路径 条件 条件值
eg:find / -group mail -exec cp -pr {} /mnt/ \; 在根下找出mail组的文件并复制到/mnt下
eg:find ./ -mmin +1 列出当前目录一分钟之前被修改的文件
eg:find /mnt/ -size 20k -type f 查找大小为20k的普通文件