VPN技术 · 2023年11月10日 0

Linux shell指令

Linux-shell命令


一、文件目录类命令 1、 查看联机帮助信息 man 命令 如:#man ls info 命令 如:#info cd 2、列出当前目录或指定目录的文件名和目录名 ls [选项] 文件或目录 常用[选项]如下: -a:显示所有的文件,包括以“.”开头的隐含文件。 -l:长格式输出 -m:宽行输出 -F:以各种符号表示不同的文件类型 –color:彩色输出 -R:递归输出 3、touch 功能:修改文件的创建日期或以当前系统日期创建一个空文件。 -d:修改文件的日期。 #touch –d 20030123 test.txt 4、cp 功能:复制文件 用法:cp [选项] 源文件或目录 目标文件或目录 选项: a:该选项通常在拷贝目录时使用。它保留链接、文件属性,并递归地拷贝目录,其作用等于dpR选项的组合。 – d 拷贝时保留链接。 – f 删除已经存在的目标文件而不提示。 – i 和f选项相反,在覆盖目标文件之前将给出提示要求用户确认。回答y时目标文件将被覆盖,是交互式拷贝。 – p 此时cp除复制源文件的内容外,还将把其修改时间和访问权限也复制到新文件中。 – r 若给出的源文件是一目录文件,此时cp将递归复制该目录下所有的子目录和文件。此时目标文件必须为一个目录名。 5、mv 功能:给文件或目录改名或将一个文件或目录移到另一个目录 用法:mv [选项] 源文件或目录 目标文件或目录 -i 交互方式操作。如果mv操作将导致对已存在的目标文件的覆盖,此时系统询问是否重写,要求用户回答y或n,这样可以避免误覆盖文件。 – f 禁止交互操作。在mv操作要覆盖某已有的目标文件时不给任何指示,指定此选项后,i选项将不再起作用。 6、rm 功能:删除文件或目录 用法:rm [选项] 文件… – f 强制删除 – r 指示rm将参数中列出的全部目录和子目录均递归地删除。 – i 进行交互式删除 7、cd 功能:改变工作目录。 语法:cd [directory] 用法: #cd ..返回上一层目录 #cd ~进入自家目录 8、pwd 功能:显示当前工作目录 用法:#pwd 9、mkdir 功能:创建一个目录(类似MSDOS下的md命令)。 语法:mkdir [选项] dir-name – m 对新建目录设置存取权限。也可以用chmod命令设置。 – p 可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录。 #mkdir –m a=rwx test #mkdir –m u=rwx,g=rx,o=rx test1 #mkdir –m 755 test2 #mkdir –p test3/test4(test3和test4均为新目录) 10、rmdir 功能:删除空目录。 语法:rmdir [选项] dir-name – p 递归删除目录dirname,当子目录删除后其父目录为空时,也一同被删除。 11、file 功能:查看文件类型 语法:file 文件名 12、cat 功能:查看文本文件的内容 语法:cat 文件名 13、more 功能:分屏显示文本文件的内容。 14、less 功能:显示文本文件的内容,可使用pageup和pagedown上翻页下翻页。 15、head 功能:查看文件的开头部分内容 语法:head [行数] 文件名 用法:#head test.txt:显示前10行内容 #head -20 test.txt 显示前20行内容。 16、tail 功能:查看文件的结尾部分内容。 语法:tail [行数] 文件名 默认的行数为10行。 17、sort 功能:对文本文件中的各行进行排序 用法:sort 文件名 例:#sort 123.txt >456.txt 将123.txt排序后重定向到456.txt文件中。 18、uniq 功能:将重复行从输出文件中删除,只留下每条记录的唯一样本 语法: uniq 文件名 #uniq 456.txt文件中的重复行删除后输出 19、pr 功能:处理文件以便打印,输出到标准输出 语法:pr [参数] 文件名列表 [参数] -d:将输出的每一行后加一新的空白行 -n:输出行号 如:#pr –n 123.txt 20、ln 功能:建立链接文件 语法:ls [-s] 源文件名 目标文件名 说 明:链接文件分为硬连接和软连接,硬连接相当于一个数据源有两个文件名,删除一个文件另一个文件不变,修改一个文件的内容另一个文件的内容也跟着改变。硬连接不能和另一个目录链接,也不能和其他文件系统的文件进行链接。软链接相当于快捷方式,没有上面的限制,加-s参数创建软链接。 21、wc 功能:统计文件的行数、字符数和单词数。 语法:wc [-lwc] 文件名 -l: 只显示行数,-w:只显示单词数,-c:只显示字符总数。 22、whatis 功能:可以用一行内容显示对命令行后输入的关键词的说明。 语法:whatis 关键词 用法:#whatis find whereis 23、Whereis 功能:确定指定文件的源程序/二进制程序和手册部分的位置。 用法:#whereis ls 24、which 功能:显示可执行命令的路径和它的别名。 用法:#which ls 25、locate 功能:可以查找具体文件或命令的路径,可以查找具体的字符串或子串 用法:locate 文件名或关键字 26、du 功能:统计文件和目录所占用的磁盘空间 语法:du [-ask] 文件名或目录名 -a:显示对涉及到的所有文件的统计,而不仅仅统计目录 -s:只打印出合计数 -k:以kB字节数显示 Find使用范例 find . -name ls.txt find . -name ls.txt –print find / -name ‘c??’ –print find / -name ‘f*’ –print find . -name ‘f*’ –exec ls –l {} /; find . -name f/* –ok rm {} /; (交互式提问) find . -perm 644 –mtime 4 find . -name ‘c??’ –o -name ‘d??’ 28、grep 功能:在文件中搜寻匹配的行并进行输出 语法:grep [参数]<要找的字串><原文件> -num:输出匹配行前后各num行的内容 -A num:输出匹配行后num行的内容 -B num:输出匹配行前num行的内容 -i:忽略大小写的区别 -v:只显示出那些不包括某字串的行和文件,和默认的相反 二、文件压缩和归档类命令 1、gzip 功能:是一种压缩程序,特点是可以得到最佳的压缩率,但速度较慢。 语法:gzip [-vd9] 文件名 -v:冗长型选项,可以显示每个文件的大小等 -d:解压 -9:产生最佳压缩效果,但速度较慢。 2、gunzip 功能:可以把压缩的文件解压成原始文件状态,可以解压扩展名为.gz,.z,.Z和.tgz等类型的压缩文件 语法:gunzip [-v] 文件名 -v:显示解压缩文件的冗长结果 3、tar 功能:可以归档多个文件和目录到一个.tar文件下,还可以从一个归档文件中抽取一个文件和目录。 语法:tar [-c][-r][-t][-x][-v][-z][f 文件名] 文件和目录名 -c:创建归档文件 -r:增加文件到归档文件中 -t:查看归档文件中的文件 -x:解开归档文件 -v:显示冗长信息 -z:进行压缩和解压 如: #tar –cvf back.tar 文件1 目录1 文件2 #tar –rvf back.tar 文件3 #tar –tf back.tar #tar –xvf back.tar #tar –czvf back.tar.gz 文件1 目录1 文件2 #tar –xzvf back.tar.gz 4、安装以rpm方式提供的软件 Rpm(the red hat package manager)是一个开放的软件包管理系统。 功能:可以安装和卸载RPM包的软件 #rpm –ivh *.rpm 安装RPM包; #rpm –ivh –force *.rpm 在原先安装的基础上再强行安装一次; #rpm –Uvh *.rpm 升级rpm包 #rpm –qa 查找列出系统中所有安装的rpm包 #rpm –q sendmail:查看sendmail包的情况 #rpm –ql sendmail:查看sendmail安装的位置 #rpm –e *.rpm 卸载rpm包 #rpm – qlp name.rpm 查看name.rpm有哪些文件 #rpm – qf name.rpm 查看已经装好的文件属于哪个rpm包 #rpm2cpio filename.rpm 使用“rpm2cpio”来从RPM文档中提取文件 5、安装以源代码方式提供的软件 (1)、解包解压: #tar –xzvf *.tar.gz 解包解压后会在当前目录下建立一个子目录,如xxxx (2)、#cd xxxx (3)、#./configure (4)、#make (5)、#make install 三、系统状态类命令 1、dmesg 功能:显示引导时内核显示的状态信息 #dmesg |grep -4 “eth0”显示状态信息中与eth0相关的前后4行内容 2、uname 功能:显示当前的系统信息 #uname -a 3、uptime 功能:显示当前时间,自从上次重新引导之后系统运行的时间,服务器和多少用户链接以及系统前1、5、15分钟的负载信息。 4、who(后面详讲) 功能:显示当前登录在系统上的用户信息。 -r:查看系统运行等级 -w,在登录帐号后面显示一个字符来表示用户的信息状态: +:允许写信息; -:不允许写信息; ?:不能找到终端设备 5、w 功能:查看其他登录的用户(who增强版) 第一行输出内容:当前时间,系统启动到现在的时间,登录用户的数目,系统在最近1秒、5秒和15秒的平均负载 第二行输出内容:登录帐号、终端名称、远程主机名、登录时间、空闲时间、JCPU、PCPU、当前正在运行进程的命令行。 *JCPU时间指的是和该终端(tty)连接的所有进程占用的时间 *PCPU时间则是指当前进程(即在WHAT项中显示的进程)所占用的时间 6、whoami 功能:显示当前用户名 7、hostname 功能:显示系统的主机名 8、cal [月份] [年份] 功能:显示日历 9、bc 功能:计算器,使用quit退出 10、date 功能:显示或修改日期时间。 11、df 功能:报告文件系统磁盘空间的使用情况 语法:df[参数] [参数] -h:用常见的格式显示出大小(例如:1K,23M,2G等) -t:只显示指定类型的文件系统 12、free 功能:查看当前内存和交换空间的使用情况 四、网络类命令 1、write 功能:向另外一个用户发信息,以Ctrl+D作为结束,普通用户发信息受到mesg状态影响。 语法:write <用户名> 2、wall 功能:向所有用户广播信息,普通用户受到mesg状态影响。 语法:wall [message] 3、mesg 功能:显示或设置是否接受其他用户发来的信息。 语法:mesg [参数] [参数] y:接受从其他用户发来的信息 n:不接受从其他用户发来的信息 #mesg 显示当前是否接受其他用户发来的信息 4、ping 功能:通过检查网络中其他主机的应答信息,来确认网络的连通性。 语法:ping [参数] 主机名(或ip地址) 参数: -c count:共发出count次信息。 -R:显示路由表的详细信息 5、telnet 功能:远程登录 语法:telnet [<主机名>][:端口号] 6、ifconfig 功能:配置网络接口 语法: ifconfig [interface] [up][down][netmask mask] #ifconfig #ifconfig eth0 192.168.0.3 netmask 255.255.255.0 up 7、netstat 功能:显示本地系统的网络连接状态 语法:netstat [-a][-r][-c][-i] -a:显示所有本地系统中的网络连接 -r:显示路由表 -c:显示连续的网络连接状态 -i:显示全部网络接口信息。 8、ftp 功能:文件传输 语法:ftp [<主机名>] 子命令: ?:列出所有的FTP命令; pwd:显示远程主机的当前目录 lcd:切换和显示本机主机的当前目录 ls:列出远程主机当前目录下的内容 !dir:列出本机主机的当前目录下的内容 cd:切换远程主机的目录 get:下载一个文件 mget:成批下载文件 put:上传一个文件 mput:成批上传文件 prompt:使用mget和mput时是否采用交互式询问 bye:中止一个FTP连接 open:打开一个FTP连接 close:关闭一个FTP连接 binary:采用二进制模式传输 ascii:采用ascii模式传输 type:查看传输模式 五、其他 passwd 1.作用 passwd命令原来修改账户的登陆密码,使用权限是所有用户。 2.格式 passwd [选项] 账户名称 3.主要参数 -l:锁定已经命名的账户名称,只有具备超级用户权限的使用者方可使用。 -u:解开账户锁定状态,只有具备超级用户权限的使用者方可使用。 -x, –maximum=DAYS:最大密码使用时间(天),只有具备超级用户权限的使用者方可使用。 -n, –minimum=DAYS:最小密码使用时间(天),只有具备超级用户权限的使用者方可使用。 -d:删除使用者的密码, 只有具备超级用户权限的使用者方可使用。 -S:检查指定使用者的密码认证种类, 只有具备超级用户权限的使用者方可使用。 4.应用实例 $ passwd Changing password for user cao. Changing password for cao (current) UNIX password: