VPN技术 · 2023年11月10日

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:

OpenMagic API

Need more than content? Move into the product flow.

If you are here for model access, pricing, developer docs, or the future API console, the dedicated product path now lives on api.openmagic.ai.