您的位置:首页 > 运维架构 > Linux

Linux基础命令

2018-02-10 09:52 176 查看
第二,Linux基础命令文件命令,系统命令,网络命令,压缩命令Linux 命令行的功能非常齐全且相当强大,这主要得益于Linux 丰富的命令。本文将分类对常用的Linux 基础命令进行介绍,学会这些命令的使用,你将能够在Linux 命令行操作中游刃有余。1.文件相关命令Linux 中常用的文件相关命令分为文件管理和文件处理两部分文件管理1. pwd功能说明显示当前路径。语法格式wd使用实例# pwd/root2. mkdir功能说明创建目录。语法格式mkdir [选项] 目录名使用实例# mkdir mydir3. ls功能说明显示当前路径下的内容。语法格式mkdir [选项] 目录名选项参数-a 显示所有档案及目录-l 除档案名称外,亦将档案型态、权限、拥有者、档案大小等资讯详细列出-r 将档案以相反次序显示(原定依英文字母次序)-t 将档案依建立时间之先后次序列出-A 同-a ,但不列出“.” (目前目录) 及“..” (父目录)-F 在列出的档案名称后加一符号;例如可执行档则加“*”, 目录则加“/” -R 若目录下有档案,则以下之档案亦皆依序列出使用实例# ls –amydir如果按照本书之前所列举的所有Linux 命令示例的顺序来做(本章中其后所有命令示例,如未做特殊说明,均遵循此原则,即均按照前文所列Linux 命令示例逐一执行),可以看到自己先前使用mkdir 命令创建的目录mydir,以及当前目录下的所有文件和目录(包括以“.” 开头的隐藏文件和目录)。4. cd功能说明切换工作目录。语法格式cd [目录]使用实例# cd
1c6f4
mydir此时再使用pwd 命令,可发现工作目录已经变更为/root/mydir 了。5. touch功能说明修改文件访问时间或修改时间,也可以通过该命令创建一个空的文件。语法格式touch [选项] 文件名使用实例# touch myfile.txt此时再使用ls –l 命令显示当前目录下文件和目录的详细信息,可发现有一个名为myfile.txt 的文件。接下来我们通过touch 命令改变它的创建时间。# touch myfile.txt -t 201201010000.30此时再使用ls –l 命令,可发现文件myfile.txt 已经变更。选项参数:-a 修改文件file 的存取时间.-c 不创建文件file-m 修改文件file 的修改时间-r ref_file 将参照文件ref_file 相应的时间戳记的数值作为指定文件file 时间戳记的新值.-t time 使用指定的时间值time 作为指定文件file 相应时间戳记的新值.此处的time 规定为如下形式的十进制数∶[[CC]YY]MMDDhhmm[.SS]6. cp功能说明复制文件。语法格式cp [选项] 源文件目标文件使用实例# cp myfile.txt ./myfile_1.txt此时再使用ls 显示当前目录下文件和目录的详细信息, 可发现有一个名为myfile_1.txt 的文件。选项参数-a:相当于-pdr 的意思;-d:若来源文件为连结文件的属性(link file),则复制连结文件属性而非档案本身;-f:为强制(force) 的意思,若有重复或其它疑问时,不会询问使用者,而强制复制;-i:若目的文件(destination)已经存在时,在覆盖时会先询问是否真的动作!-l:进行硬式连结(hard link) 的连结档建立,而非复制档案本身;-p:连同档案的属性一起复制过去,而非使用预设属性;-r:递归持续复制,用于目录的复制行为;-s:复制成为符号连结文件(symbolic link),亦即『快捷方式』档案;-u:若destination 比source 旧才更新destination!7. rm功能说明删除文件。语法格式rm [选项] 文件名使用实例# rm -rf myfile.txt此时再使用ls 显示当前目录下文件和目录的详细信息,可发现有文件myfile.txt已经不存在了。选项参数- f 忽略不存在的文件,从不给出提示。- r 指示rm 将参数中列出的全部目录和子目录均递归地删除。- i 进行交互式删除。8. mv功能说明重命名或移动文件。语法格式mv [选项] 源文件名目标文件名使用实例# mv myfile_1.txt myfile.txt此时再使用ls 显示当前目录下文件和目录的详细信息,可发现有文件myfile_1.txt已经变成了名为myfile.txt 的文件。选项参数-i:交互方式操作。如果mv 操作将导致对已存在的目标文件的覆盖,此时系统询问是否重写,要求用户回答”y”或”n”,这样可以避免误覆盖文件。-f:禁止交互操作。mv 操作要覆盖某个已有的目标文件时不给任何指示,指定此参数后i 参数将不再起作用。9. rmdir功能说明删除目录。语法格式rmdir 目录名使用实例# rmdir mydir/首先,在执行该命令前必须先返回上一级目录,即/root 目录,否则提示:“没有那个文件或目录”并且删除失败。另外,即使返回了上一级目录,直接执行该命令也会提示:“目录非空” 并且删除失败;此时,则需要先删除/root/mydir/目录下的所有文件,再执行此命令才可成功。此时再使用ls 显示/root 目录下文件和目录,可发现有目录mydir/已经不存在了。文件处理1. wc功能说明显示行数、单词数和字节数。语法格式wc [选项] [文件名]使用实例# wc /etc/bashrc53 163 1253 /etc/bashrc结果表示/etc/bashrc 文件共有53 行、163 个单词,文件大小为1253 个字节(注意:/etc/bashrc 为系统配置文件,初学者不应将其内容改动)。选项参数- c 统计字节数。- l 统计行数。- w 统计字数。2. file功能说明显示文件类别。语法格式file 文件名使用实例# file /etc/bashrc/etc/bashrc: ASCII text结果表示/etc/bashrc 文件是一个使用ASCII 字符编码的文本文件。3. du功能说明显示文件占用磁盘信息。语法格式du [选项] [文件名]使用实例# du -sh /etc/bashrc8.0K /etc/bashrc结果表示/etc/bashrc 文件占用了8K 字节的磁盘空间。选项参数:-a 显示全部目录和其次目录下的每个档案所占的磁盘空间-b 大小用bytes 来表示(默认值为k bytes)-c 最后再加上总计(默认值)-s 只显示各档案大小的总合-x 只计算同属同一个档案系统的档案-L 计算所有的档案大小4. chmod功能说明修改文件访问权限。语法格式chmod [选项] 权限字串文件名使用实例#chmod 777 /etc/bashrc此时使用ls –l /etc/bashrc 命令可以发现文件/etc/bashrc的权限已经变成“-rwxrwxrwx”。为了保持系统安全性,建议使用同样的方法(使用chmod644 /etc/bashrc命令)将文件/etc/bashrc 改为一个比较安全的权限“-rw-r--r--”。选项参数:-v 显示权限改变的详细资料-R 表示对当前目录下的所有文件和子目录进行相同的权限更改权限字串:格式为[ugoa] [+-=] [rwx]u 表示文件的拥有者g 表示与此文件拥有者属于一个组群的人o 表示其他人a 表示包含以上三者即文件拥有者(u)、群组(g)、其他(o)+ 表示增加权限= 表示唯一设置权限- 表示取消权限,数字代号为"0"r 表示有读取的权限,数字代号为"4"w 表示有写入的权限,数字代号为"2"x 表示有执行的权限,数字代号为"1"5. find功能说明查找文件。语法格式find [文件名] [条件]使用实例# find /etc/ -name "bas*"/etc/bashrc/etc/selinux/targeted/src/policy/macros/base_user_macros.te本例中在/etc/目录下查找所有文件名以“bas”开头的文件。选项参数条件:-name filename : 搜索文件名为filename 的文件-size [+ -] SIZE : 搜索比SIZE 还要大(+)或小(-)的文件,这个SIZE 的规格有:c :表示byte,k:表示1024bytes,所以,要找比50KB 还要大的文件,就是"-size +50K"-type TYPE : 搜索文件的类型为TYPE,类型首要有:通常正轨文件(f),装备文件(b,c),目录(d),衔接文件(l),套接字(s),及FIFO(p)等属性.-perm mode :搜索文件属性"刚好等于"mode 的文件,这个mode 为相似chmod 的属性值,举例来说,-rwsr-xr-x 的属性为4755 时,也会列出来.-perm -mode :搜索文件属性"必须要一切包含mode 的属性"的文件,举例来说,要搜索-rwxr--r--,即0744 的文件,运用-perm -0744,当一个文件的属性为-rwxr--r--,即4755 时,也会列出来,由于-rwxr-xr-x 的属性己经包含了" -rwxr--r-- "的属性了.-perm +mode :搜索文件属性"包含任一mode 的属性"的文件,举例来说,我们搜索-rwxr-xr-x,即-perm +755 时,但一个文件属性为-rw-------也会被列出,由于它有-rw....的属性存在.-atime n : n 为数字,意思为在n 天之前的"一天之内"访问(access)过的文件.-ctime n : n 为数字,意思为在n 天之前的"一天之内"修正(change)过的形状的文件.-mtime n: n 为数字,意思为在n 天之前的"一天之内"修正(modification)过的文件.-newer file : file 为一个存在的文件,意思是说,只需文件比file 还要新,就会被列出来.-uid n : n 为数字,这个数字是用户的帐号ID,即UID,这个UID 记载在/etc/passwd里与帐号称号对应的数字.-gid n : n 为数字,这个数字是用户组称号的ID,即GID,这个GID 记载在/etc/group.-user name : name 为用户帐号称号,比方dmtsai-group name: name 为用户组称号,比方users-nouser :查找文件的拥有者不在/etc/passwd-nogroup :查找文件的拥有者不在/etc/group 中的文件.6. grep功能说明抽取并列出包含文本的行。语法格式grep [选项] 文本[文件名]使用实例# grep "export PATH" /etc/*/etc/bashrc:exportPATH=/usr/local/arm/3.4.4/bin:$PATH/etc/profile:export PATH USER LOGNAME MAIL HOSTNAMEHISTSIZE INPUTRC/etc/zprofile:export PATH本例中在/etc/目录下所有文件中抽取并列出了包含有字符串“export PATH”的行。选项:-n n 为数字,同时显示匹配行上下的n 行。-b 打印匹配行前面打印该行所在的块号码。-c 只打印匹配的行数,不显示匹配的内容。-f 从文件中提取模板。空文件中包含0 个模板,所以什么都不匹配。-h 当搜索多个文件时,不显示匹配文件名前缀。-I 忽略大小写差别。-q 取消显示,只返回退出状态。0 则表示找到了匹配的行。-l 打印匹配模板的文件清单。-L 打印不匹配模板的文件清单。-n 在匹配的行前面打印行号。-s 不显示关于不存在或者无法读取文件的错误信息。-v 反检索,只显示不匹配的行。-w 如果被<和>引用,就把表达式做为一个单词搜索。-V 显示软件版本信息。2. 系统相关命令Linux 系统命令分为系统信息查询、进程管理和用户管理三个部分系统信息查询1. uname功能说明显示当前操作系统名称。语法格式uname [选项]使用实例# uname -aLinux localhost.localdomain 2.6.9-89.ELsmp #1 SMP MonApr 20 10:34:33 EDT 2009 i686 i686 i386 GNU/Linux本例中打印了包括操作系统名称在内的所有系统相关信息。选项参数-a, --all #打印出所有信息,如果-p,-i 的结果为unknown,将不显示-p,-i 的结果-s, --kernel-name #打印出内核名称-n, --nodename #打印出网络上主机名称-r, --kernel-release #打印出操作系统发行号-v, --kernel-version #打印出操作系统的版本-m, --machine #打印出电脑硬件类型-p, --processor #打印出处理器类型-i, --hardware-platform #显示硬件平台类型-o, --operating-system #打印出运行的系统2. hostname功能说明显示或设置系统的主机名称。语法格式hostname [选项]使用实例# hostnamelocalhost.localdomain本例显示了系统的主机名称。选项参数-n:显示主机在网络节点上的名称。-o:显示操作系统类型。-r:显示内核发行版本。-s:显示内核名称。3. date功能说明显示和设置日期。语法格式date [选项] [日期]使用实例#date 021010322018.302 月10日 10:32:30 CST 2018本例将系统时间设置为了2018 年2 月10 日10 点32 分30 秒。选项参数-d datestr, --date datestr 显示由datestr 描述的日期-s datestr, --set datestr 设置datestr 描述的日期-u, --universal 显示或设置通用时间日期(以+号开头):% H 小时(00..23)% I 小时(01..12)% k 小时(0..23)% l 小时(1..12)% M 分(00..59)% p 显示出AM 或PM% r 时间(hh:mm:ss AM 或PM),12 小时% s 从1970 年1 月1 日00:00:00 到目前经历的秒数% S 秒(00..59)% T 时间(24 小时制)(hh:mm:ss)% X 显示时间的格式(%H:%M:%S)% Z 时区日期域% a 星期几的简称( Sun..Sat)% A 星期几的全称( Sunday..Saturday)% b 月的简称(Jan..Dec)% B 月的全称(January..December)% c 日期和时间( Mon Nov 8 14:12:46 CST 1999)% d 一个月的第几天(01..31)% D 日期(mm/dd/yy)% h 和%b 选项相同% j 一年的第几天(001..366)% m 月(01..12)% w 一个星期的第几天(0 代表星期天)% W 一年的第几个星期(00..53,星期一为第一天)% x 显示日期的格式(mm/dd/yy)% y 年的最后两个数字( 1999 则是99)% Y 年(例如:1970,1996 等)4. cal功能说明显示日历。语法格式cal [选项] [年份]使用实例# cal六月2010日一二三四五六1 2 3 4 56 7 8 9 10 11 1213 14 15 16 17 18 1920 21 22 23 24 25 2627 28 29 30本例显示了本月的日历。选项参数-m : 以星期一为每周的第一天方式显示。-j : 以凯撒历显示,即以一月一日起的天数显示。-y : 显示今年年历。5. uptime功能说明显示系统运行时长。语法格式uptime使用实例uptime10:34:24 up 10:50, 3 users, load average: 0.01, 0.05,0.07本例显示了当前时间10:34:24 及开机时长10 小时50 分等信息。6. dmesg功能说明显示开机信息。语法格式dmesg [选项]使用实例# dmesgLinux version 2.6.9-89.ELsmp(mockbuild@hs20-bc1-2.build.redhat.com)(gcc version 3.4.6 20060404 (Red Hat 3.4.6-11))#1 SMP Mon Apr 20 10:34:33 EDT 2009BIOS-provided physical RAM map:BIOS-e820: 0000000000000000 - 000000000009f800(usable)BIOS-e820: 000000000009f800 - 00000000000a0000(reserved)……Installing knfsd (copyright (C) 1996okir@monad.swb.de).eth0: no IPv6 routers presentVMCIUtil: Updating context id from 0xffffffff to0x43b6d2c7 on event 0.本例显示了与开机有关的大量信息。选项参数:-c 显示信息后,清除ring buffer 中的内容。-s 预设置为8196,刚好等于ring buffer 的大小。-n 设置记录信息的层级。进程管理1. ps功能说明显示进程状态。语法格式ps [选项] [进程号]使用实例# ps -efUID PID PPID C STIME TTY TIME CMDroot 1 0 0 Jun24 ? 00:00:03 init [5]root 2 1 0 Jun24 ? 00:00:00[migration/0]root 3 1 0 Jun24 ? 00:00:00[ksoftirqd/0]……root 19508 10018 0 03:30 pts/2 00:00:00 bashroot 22561 10018 0 05:20 pts/1 00:00:00 bashroot 31630 19508 89 10:53 pts/200:00:05 ./deadLooproot 31512 19508 0 10:48 pts/2 00:00:00 ps –ef本例以树形结构显示了所有正在运行的进程的状态。选项参数:l 长格式输出u 按用户名和启动时间的顺序来显示进程j 用任务格式来显示进程f 用树形格式来显示进程a 显示所有用户的所有进程(包括其它用户)x 显示无控制终端的进程r 显示运行中的进程ww 避免详细参数被截断2. kill功能说明终止进程。语法格式kill [选项] 进程号使用实例# kill 31630根据前一个例子的显示结果,我们想要结束掉“root 31630 19508 89 10:53 pts/200:00:05 ./deadLoop”这一进程。执行以上命令后,再使用“ps –ef”查看进程状态,可以发现该进程已经消失,即已被结束掉选项参数-s 指定需要送出的信号。既可以是信号名也可以对应数字。-p 指定kill 命令只是显示进程的pid,并不真正送出结束信号。-l 显示信号名称列表,这也可以在/usr/include/Linux/signal.h 文件中找到。用户管理1. who功能说明显示登录到系统的所有用户。语法格式who使用实例# whoroot :0 Jun 17 11:30root pts/1 Jun 17 17:03 (:0.0)root pts/2 Jun 17 15:13 (:0.0)本例显示了当前登录到系统的所有用户。2. whoami功能说明显示当前用户。语法格式whoami使用实例# whoamiroot本例显示当前用户为root。3. last功能说明显示近期登录的用户。语法格式last使用实例# lastroot pts/3 :0.0 Fri Jun 25 10:09 - 10:26(00:17)root pts/3 :0.0 Fri Jun 25 09:41 - 10:09(00:27)root pts/1 :0.0 Thu Jun 17 17:03 stilllogged inroot pts/2 :0.0 Thu Jun 17 15:13 stilllogged inwtmp begins Thu Jun 17 15:13:46 2010本例显示了最近登录到系统的4 个用户。4. passwd功能说明设置用户密码。语法格式passwd [用户名]使用实例# passwdChanging password for user root.New UNIX password:BAD PASSWORD: it is too simplistic/systematicRetype new UNIX password:passwd: all authentication tokens updated successfully.该命令执行后会要求连续两次输入新密码,若两次输入一致则密码修改成功。值得注意的是:在你输入密码的过程中将不会显示任何字符。3.网络相关命令显示或设置网络设备:ifconfig [网络设备][选项]…检测主机:ping [选项] 主机名或IP1. ifconfig功能说明:显示或设置网络设备。语法格式:ifconfig [网络设备][选项]…使用实例:# ifconfig eth0eth0 Link encap:Ethernet HWaddr 00:0C:29:0B:33:DFinet addr:172.22.60.125 Bcast:172.22.255.255Mask:255.255.0.0inet6 addr: fe80::20c:29ff:fe0b:33df/64Scope:LinkUP BROADCAST RUNNING MULTICAST MTU:1500Metric:1RX packets:12 errors:0 dropped:0 overruns:0frame:0TX packets:13 errors:0 dropped:0 overruns:0carrier:0collisions:0 txqueuelen:1000RX bytes:9409 (9.1 KiB) TX bytes:758 (758.0 b)Interrupt:185 Base address:0x2024本例显示了eth0(类似Windows 的本地连接1)的IP 等相关信息。选项参数:网络设备:指定的网络接口名,如eth0 和eth1。选项:up:激活指定的网络接口卡。down:关闭指定的网络接口。broadcast address:设置接口的广播地址。pointopoint:启用点对点方式。2. ping功能说明:检测主机。语法格式:ping [选项] 主机名或IP使用实例:# ping 172.22.60.1 -c 3PING 172.22.60.1 (172.22.60.1) 56(84) bytes of data.64 bytes from 172.22.60.1: icmp_seq=0 ttl=64 time=0.445ms64 bytes from 172.22.60.1: icmp_seq=1 ttl=64 time=1.09ms64 bytes from 172.22.60.1: icmp_seq=2 ttl=64 time=2.05ms--- 172.22.60.1 ping statistics ---3 packets transmitted, 3 received, 0% packet loss, time2003msrtt min/avg/max/mdev = 0.445/1.197/2.055/0.661 ms, pipe2本例中向IP 为172.22.60.1 的主机发起三次检测信号,并显示目标主机的响应时长。值得注意的是:本地主机应与目标主机在同一网段,从上一个例子中“ifconfig”命令所显示的IP 地址“172.22.60.125”,可知本地主机应与目标主机172.22.60.1处在同一网段中。选项参数:-d 使用Socket 的SO_DEBUG 功能。-c <完成次数>设置完成要求回应的次数。-f 极限检测。-I <间隔秒数>指定收发信息的间隔时间。-I <网络界面>使用指定的网络界面送出数据包。-l <前置载入>设置在送出要求信息之前,先行发出的数据包。-n 只输出数值。-p <范本样式>设置填满数据包的范本样式。-q 不显示指令执行过程,开头和结尾的相关信息除外。-r 忽略普通的Routing Table,直接将数据包送到远端主机上。-R 记录路由过程。-s <数据包大小>设置数据包的大小。-t <存活数值>设置存活数值TTL 的大小。-v 详细显示指令的执行过程。4.压缩打包相关命令1. tar功能说明:打包备份文件。语法格式:tar [选项]… [文件]…使用实例:# tar -cjf mydir.tar.bz2 mydir/执行完该命令后,再使用“ls”命令进行查询,发现新增了一个名为“mydir.tar.bz2”的文件,该文件是以bz2 的格式打包压缩而成的。选项参数:-t 列出归档文件内容目录-x 从归档文件中解析文件-c 创建新的归档文件](上面三个参数,不能同时存在,仅能使用其中一个,即t/x/c)-f 指定备份文件,或设备,例如磁带机/dev/st0-v 显示命令的执行过程-Z 使用compress 命令处理备份文件-z 使用gzip 命令处理备份文件-j 使用b
da57
zip2 命令处理备份文件(-z 和-j 都是在备份文件打包后才进行压缩的操作的,并且,该操作会影响其他的参数)-C 先进入指定的目录,再释放5.其他命令1. clear功能说明清屏。语法格式clear使用实例#clear执行结果为屏幕刷新并清空。2. cat功能说明显示文本文件内容。语法格式cat [选项] [文件名]使用实例# cat /etc/bashrc# /etc/bashrc# System wide functions and aliases# Environment stuff goes in /etc/profile……# vim:ts=4:sw=4export PATH=/usr/local/arm/3.4.4/bin:$PATH执行该命令后,文件“/etc/bashrc”的内容被读取并以文字形式打印出来。选项参数-n 由1 开始对所有输出的行数编号-b 和-n 相似,只不过对于空白行不编号-s 当遇到有连续两行以上的空白行,就代换为一行的空白行-v 详细显示指令的执行过程。3.mount功能说明挂载。语法格式mount [选项] 设备或节点目标目录使用实例#mount -t vfat /dev/sdb1 /root/mydir本例可以挂载U 盘,其中设备节点“/dev/sdb1”的主次设备号分别为8 和17。选项参数-t<文件系统类型> 指定设备的文件系统类型-h:显示辅助信息。-v:显示信息,通常和-f 用来除错。-a:把/etc/fstab 中定义的所有文件系统挂上。-F:这个命令通常和-a 一起使用,它会为每一个mount 的动作产生一个行程负责执行。在系统需要挂上大量NFS 文件系统时可以加快加载的速度。-f:通常用于除错。它会使mount 不执行实际挂上的动作,而是模拟整个挂上的过程,通常会和-v 一起使用。-n:一般而言,mount 挂上后会在/etc/mtab中写入一笔资料,在系统中没有可写入文件系统的情况下,可以用这个选项取消这个动作。-o async 打开非同步模式,所有的档案读写动作都会用非同步模式执行。-o sync 在同步模式下执行。-o atime ,-o noatime当atime 打开时,系统会在每次读取档案时更新档案的『上一次调用时间』。当我们使用flash 档案系统时可能会选项把这个选项关闭以减少写入的次数。-o auto ,-o noauto 打开/关闭自动挂上模式。-o defaults 使用预设的选项rw, suid, dev, exec, auto, nouser, and async.-o dev ,-o nodev-o exec ,-o noexec 允许执行档被执行。-o suid ,-o nosuid 允许执行档在root 权限下执行。-o user ,-o nouser 使用者可以执行mount/umount 的动作。-o remount 将一个已经挂下的档案系统重新用不同的方式挂上。例如原先是唯读的系统,现在用可读写的模式重新挂上。-o ro 用唯读模式挂上。-o rw 用可读写模式挂上。-o loop 使用loop 模式用来将一个档案当成硬盘分割挂上系统。4. man功能说明显示命令手册。语法格式man [领域代号] 命令名使用实例#man man该命令执行后,将显示命令手册中与man 命令相关的部分。选项参数领域代号:1 用户命令,可由任何人启动的。2 系统调用,即由内核提供的函数。3 例程,即库函数。4 设备,即/dev 目录下的特殊文件。5 文件格式描述,例如/etc/passwd。6 游戏7 杂项,如宏命令包、惯例等。8 系统管理员工具,只能由root 启动。9 其他(Linux 特定的), 用来存放内核例行程序的文档。n 新文档,可能要移到更适合的领域。o 老文档,可能会在一段期限内保留。l 本地文档,与本特定系统有关的。 来自仲的整理
转载:http://blog.csdn.net/z3410218746/article/details/7436204
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: