Linux命令
(1)ls [list]命令
基本的格式:ls [oprion] [file]
ls命令是Linux控制台命令中最常用的几个命令之一。其作用相当于Dos命令下的dir,用于查看文件和目录信息的命令。ls最常用的参数有三个:-a -l -F.
ls -a :Linux 中以“.”开头的文件被系统视为隐藏文件,仅用ls命令是看不到的,用 ls -a 不仅能显示一般文件,还能显示隐藏的文件;
ls -b:把文件名中不可输出的字符用反斜杠加字符编号的形式输出;
ls -c:配合参数-lt:根据ctime排序。ctime文件状态最后更改的时间。
ls -d:显示目录信息,不显示目录下的文件信息;
ls -l:可以使用长格式显示文件内容,通常要查看详细的文件信息时,可以用ls -l这个指令(显示文件的属性、个数、文件的所有者、文件所属的组、文件大小、创建日期、文件名);
ls -F:使用这个参数表示在文件的后面多添加表示文件类型的符号,如*表示可执行,/表示目录,@表示连接文件;
ls -t:以时间排序
(2)“>”输入/输出重定向示例
基本命令格式:cmd1>cmd2
在Linux命令行模式中,如果命令所需输入不是来自键盘,而是来自指定的文件,这就是输入重定向。同理,命令的输入也可以不显示在屏幕上,而是写入指定的文件中,这就是输出重定向。
输入重定向示例
[root@local~]# wc xx.txt
将文件xx.txt作为wc命令的输入,统计出xx.txt的行数、单词数和字符数。所输入的信息不再是键盘,而是文件xx.txt。
输出重定向示例
[root@local~]ls> xx.txt
ls命令的输出不再显示在屏幕上,而是保存在一个名为xx.txt的文件中。如果“>”符号后边的文件已存在,则直接覆盖该文件。
(3)"|"管道命令。
基本命令格式:cmd1|cmd2|cmd3
利用Linux提供的管道符“|”将两个命令隔开,管道符左边命令的输出就会作为管道符右边命令的输入将。连续使用管道意味着第一个命令的输出会作为第二个命令的输入,第二个命令的输出又会作为第三个命令的输入,从而列出带有gcc字符的RPM包。
单个管道示例
[root@local~]#rqm -qa|grep gcc
这条命令使用管道符“|”建立一个管道。管道将rqm -qa命令输出系统中所有安装的RPM包作为grep命令的输入,从而列出带有gcc字符的RPM。
多个管道示例如下:
[root@local~]#cat /etc/passwd|grep/bash|wc -l
这条命令使用了两个管道,利用第一个管道命令使cat命令显示passwd文件的内容输出送给grep命令,grep命令找出含有“/bin/bash”的所有行:第二个管道将grep的输出送给wc命令,wc命令统计出输入中的行数。这个命令的功能在于找出系统中有多少个用户使用bash。
(4)chmod命令。
基本命令格式:chmod modfile
Linux中文档的存取权限分为三级:文件拥有者、与拥有者同组的用户、其他用户,不管权限位如何设置,root用户都具有超级访问权限。利用chmod可以精确地控制文档的存取权限。默认情况下,系统将创建的普通文件的权限设置为-rw-r-r-。
Mode:权限设定字串,格式为[ugoa...][[+-=][rwxX]...][...],其中u表示该文档的拥有者,g表示与该文档的拥有者同一个组(group)者,o表示其他的人,a表示所有的用户。
"+"表示增加权限、“-”表示取消权限、“=”表示直接设定权限。
“r”表示可读取,“w”表示可写入,“x”表示可执行,“x”表示只有当该文档使个子目录或者已经被设定为可执行。
此外,chmod也可以用数字来表示权限。
示例:
d rwx r-x r--
d 文件类型,rwx文件所有者的权限,r-x同组用户权限,r--其他用户权限
数字权限基本命令格式:chmod abc file
其中,a,b,c各为一个数字,分别表示User、Group及Other的权限。其中各个权限对应的数字为r=4,w=2,x=1。因此对应的权限属性如下:
属性为rwx,则对应的数字为4+2+1=7;
属性为rw-,则对应的数字为4+2=6;
属性为r-x,则对应的数字为4+1=5;
(5)cd命令。
基本命令格式:cd [change directory]
其作用是改变当前目录。
注意:Linux的目录对大小写以及字符都是非常敏感的。
cd命令示例:
进入目录
[root@local~]#cd /root/Desktop
[roo@Desktop]#
退出目录
[root@Desktop]#cd ..
[root@local~]
(6)mkdir和rmdir命令。
基本命令格式:
mkdir [directory]
rmdir [option] [directory]
mkdir命令用来建立新的目录,rmdir用来删除已建立的目录。其中rmdir的参数主要是-p,该参数在删除目录时,会删掉目录中的每个目录,包括其中的父目录。如“rm -p a/b/c”的作用与“rmdir a/b/c a/b/a”的作用类似.
mkdir和rmdir命令示例
[root@software]#mkdir testdir
在当前目录下创建名为testdir的目录。
[root@software]#rmdir testdir
在当前目录下删除名为test.dir的目录。
(7)cp命令。
基本命令格式:cp -r 源文件(source)目的文件(target)
主要参数-r时指连同源文件中的子目录一同拷贝,在复制多级目录时特别有用。
cp -a命令相当于将整个文件夹备份。
cp -f命令相当于强制复制。
cp命令实例
[root@local etc]#mkdir /etc/software
[root@local etc]#cp -r /etc /etc/software
该命令的作用时将/etc下的所有文件和目录复制到/etc/software下作为备份。
(8)rm命令。
基本命令格式:rm [option] filename
作用是删除文件,常用的参数有-i、-r、-f。"-i"参数系统会加上提示信息,确认后才能删除;"-r"操作可以连同这个目录下面的子目录都删除,功能和rmdir相似;"-f"操作是进行强制删除。
rm命令示例
[root@local etc]#rm -i /backup/etc/etc/mail.rc
rm remove regular file 'backup/etc/etc/mail.rc"? n
[root@local etc]#rm -f /backup/etc/etc/mail.rc
带"-i"参数系统会提示是否删除,而带"-f"参数是直接删除不提示。
(9)mv命令。
基本命令格式:mv [option] source [file]
移动目录或者文件,可以用于给目录或者文件重命名。当使用该命令移动目录时,他会连同该目录下面的子目录一同移动。常用参数"-f"表示强制移动,覆盖之前的文件也不会提示。
mv命令示例
[root@local home~]#mv -f /home /home1
将/home下所有文件和目录全部移动到/home1目录下,若/home1中有同名的文件则会被直接覆盖。
(10)cat命令。
基本格式:cat [option] [file]
它的功能时显示或连结一般的ascii文本文件,类似于DOS下面的type。cat可以结合重定向符号一起使用,如cat file1 file2 >file3,把file1和file2的内容结合起来,再"重定向(>)"到file3文件中。若file3不存在,则自动创建;若file3时已经存在的文件,则被覆盖。
cat命令示例
[root2local etc]#cat /etc/hosts
#Do not remove the folowing line,or various programs
#that require network functionality will fail.
127.0.0.1 loacl localhost.localmian localhost
输入cat /etc/hosts命令,则直接显示/etc/hosts文件的内容。
(11)pwd命令。
基本命令格式:pwd
用于显示用户的当前工作过目录。
pwd命令示例
[root@local etc]#pwd
/etc
显示当前所在工作目录的绝对路径名称是/etc。
(12)In [link]。
基本命令格式:In source_file -s des_file
该命令的作用是为某一个文件在另外一个位置建立一个不同的链接,常用的参数是-s,要注意两个问题:一是In命令会保持每一处链接文件的同步性,也就是说,不论改动了哪一处,其他文件都会发生相同的变化;二是In的链接有软链接和硬链接两种,软链接是In -s **,它只会在完全选定的位置上生成一个的镜像,不会占用磁盘空间;硬链接四In ** **,没有参数-s,它会在选定的位置上生成一个和源文件大小相同的文件。无论是软链接还是硬链接,文件都保持同步变化。
In命令示例
[root@local~]#In /etc/hosts -s/root/hosts
在/root目录下创建一个名为hosts的软链接文件,对应到/etc/hosts。
(13)grep命令。
基本命令格式;grep [option]string
grep命令用于查找挡墙文件夹下的所有文件内容,列出包含string中指定字符串的并行显示行号。
option参数主要有:
-a:作用是将binary文件以text文件的方式搜寻数据。
-c:计算找到string的次数。
-I:忽略大小写的不同,即大小写视为相同。
命令示例
[root@local~]#grep -a '127'
(14)mount命令。
基本命令格式:mount -t typedev dir
用于将分区作为Linux的一个文件挂在到Linux的一个空文件夹下,从而将分区和/mnt目录联系起来,因此我们只要访问这个文件夹就相当于访问该分区了。
注意:必须将光盘、U盘等放入驱动器再实施挂载操作,不能在挂载目录下实施挂载操作,至少在上一级不能在同一目录下挂载两个以上的文件系统。
命令示例。
[root@local~]#mount -t iso9660 /dev/cdrom/mnt/cdrom #挂载光盘
[root@local~]#umount /mnt/cdrom #卸载光盘
[root@local~]#mount /dev/sdb1 /usb #挂载U盘
(15)rqm命令。
基本命令格式:rqm [option]name
RPM(Red Package Manager)最早是RedHat开发的,现在已经是公认的行业标准,用于查询各种rpm包的情况。
rqm参数说明:
-a 查询所有套件。
-b<完成阶段><套件档>+或-t <完成阶段><套件档>+ 设置包装套件的完成阶段,并指定套件档的文件名称。
-c 只列出组态配置文件,本参数需配合"-l"参数使用。
-d 只列出文本文件,本参数需配合"-l"参数使用。
-e<套件档>或--erase<套件档> 删除指定的套件。
-f<文件>+ 查询拥有指定文件的套件。
-h或--hash 套件安装时列出标记。
-i 显示套件的相关信息。
-i<套件档>或--install<套件档> 安装指定的套件档。
-l 显示套件的文件列表。
-p<套件档>+ 查询指定的RPM套件档。
-q 使用询问模式,当遇到任何问题时,rpm指令会先询问用户。
-R 显示套件的关联性信息。
-s 显示文件状态,本参数需配合"-l"参数使用。
-U<套件档>或--upgrade<套件档> 升级指定的套件档。
-v 显示指令执行过程。
-vv 详细显示指令执行过程,便于排错。
-addsign<套件档>+ 在指定的套件里加上新的签名认证。
--allfiles 安装所有文件。
--allmatches 删除符合指定的套件所包含的文件。
--badreloc 发生错误时,重新配置文件。
--buildroot<根目录> 设置产生套件时,欲当作根目录的目录。
--changelog 显示套件的更改记录。
--checksig<套件档>+ 检验该套件的签名认证。
--clean 完成套件的包装后,删除包装过程中所建立的目录。
--dbpath<数据库目录> 设置欲存放RPM数据库的目录。
--dump 显示每个文件的验证信息。本参数需配合"-l"参数使用。
--excludedocs 安装套件时,不要安装文件。
--excludepath<排除目录> 忽略在指定目录里的所有文件。
--force 强行置换套件或文件。
--ftpproxy<主机名称或IP地址> 指定FTP代理服务器。
--ftpport<通信端口> 设置FTP服务器或代理服务器使用的通信端口。
--help 在线帮助。
--httpproxy<主机名称或IP地址> 指定HTTP代理服务器。
--httpport<通信端口> 设置HTTP服务器或代理服务器使用的通信端口。
--ignorearch 不验证套件档的结构正确性。
--ignoreos 不验证套件档的结构正确性。
--ignoresize 安装前不检查磁盘空间是否足够。
--includedocs 安装套件时,一并安装文件。
--initdb 确认有正确的数据库可以使用。
--justdb 更新数据库,当不变动任何文件。
--nobulid 不执行任何完成阶段。
--nodeps 不验证套件档的相互关联性。
--nofiles 不验证文件的属性。
--nogpg 略过所有GPG的签名认证。
--nomd5 不使用MD5编码演算确认文件的大小与正确性。
--nopgp 略过所有PGP的签名认证。
--noorder 不重新编排套件的安装顺序,以便满足其彼此间的关联性。
--noscripts 不执行任何安装Script文件。
--notriggers 不执行该套件包装内的任何Script文件。
--oldpackage 升级成旧版本的套件。
--percent 安装套件时显示完成度百分比。
--pipe<执行指令> 建立管道,把输出结果转为该执行指令的输入数据。
--prefix<目的目录> 若重新配置文件,就把文件放到指定的目录下。
--provides 查询该套件所提供的兼容度。
--queryformat<档头格式> 设置档头的表示方式。
--querytags 列出可用于档头格式的标签。
--rcfile<配置文件> 使用指定的配置文件。
--rebulid<套件档> 安装原始代码套件,重新产生二进制文件的套件。
--rebuliddb 以现有的数据库为主,重建一份数据库。
--recompile<套件档> 此参数的效果和指定"--rebulid"参数类似,当不产生套件档。
--relocate<原目录>=<新目录> 把本来会放到原目录下的文件改放到新目录。
--replacefiles 强行置换文件。
--replacepkgs 强行置换套件。
--requires 查询该套件所需要的兼容度。
--resing<套件档>+ 删除现有认证,重新产生签名认证。
--rmsource 完成套件的包装后,删除原始代码。
--rmsource<文件> 删除原始代码和指定的文件。
--root<根目录> 设置欲当作根目录的目录。
--scripts 列出安装套件的Script的变量。
--setperms 设置文件的权限。
--setugids 设置文件的拥有者和所属群组。
--short-circuit 直接略过指定完成阶段的步骤。
--sign 产生PGP或GPG的签名认证。
--target=<安装平台>+ 设置产生的套件的安装平台。
--test 仅作测试,并不真的安装套件。
--timecheck<检查秒数> 设置检查时间的计时秒数。
--triggeredby<套件档> 查询该套件的包装者。
--triggers 展示套件档内的包装Script。
--verify 此参数的效果和指定"-q"参数相同。
--version 显示版本信息。
--whatprovides<功能特性> 查询该套件对指定的功能特性所提供的兼容度。
--whatrequires<功能特性> 查询该套件对指定的功能特性所需要的兼容度。
-q命令示例。
[root@local~]#rqm -q bind #查询bind软件包是否有安装
[root@local~]#rqm -qa #查询系统安装的所有软件安装包
[root@local~]#rqm -qa|grep bind #查询系统安装的所有软件包,并从中过滤出bind
(16)ps命令。
基本命令格式:ps [option]
用于查看进程,常用option选项有:
-aux;用于查看所有静态进程。
-top:用于查看动态变化的进程。
-A:用于查看所有的进程。
-r:表示只显示正在运行的进程。
-l:表示用长格式显示。
在ps查看的进程通常有以下几类状态:
D:Uninterruptible sleep。
R:正在运行中。
S:处于休眠状态。
T:停止或被追踪。
W:进入内存交换。
Z:僵死进程。
ps命令示例。
[root@local~]#ps -Al
F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD
4 S 0 1 0 0 76 0 - 436 - ? 00:00:02 init
1 S 0 2 1 0 94 19 - 0 ksofti ? 00:00:46 ksoftirqd/0
(17)kill命令。
基本命令格式kill signal PID
其中PID是进程号,可以用ps命令查出,signal是发送给进程的信号,TERM(或数字9)表示“无条件终止”。
命令示例。
[root@local~]#kill 9 2754
表示无条件终止进程号为2754的进程。
(18)chkconfig命令。
基本命令格式:chconfig[-add][-del][list][系统服务]
或chkconfig[-level<等级代号>][系统服务][on/off/reset]
chkconfig命令提供了一种简单的方式来设置一个服务的运行级别,也可以用来检查系统的各种服务。基本参数如下:
-add:增加所指定的系统服务,在系统启动的配置文件中增加相关的配置。
-del:删除所指定的系统服务,在系统启动的配置文件内删除相关配置。
-level<等级代号>:指定该系统服务要在哪一个执行等级中开启或关闭。
chkconfig命令示例。
[root@local~]#chkconfig --list
用于列出所有的系统服务
[root@local~]#chkconfig --add httpd
增加httpd服务
[root@local~]#chkconfig --level httpd 2345 on
把httpd在运行级别为2~5的情况下都是启动的状态
(19)Passwd命令。
基本命令格式:passwd [option]<accountName>
主要参数说明:
-l:锁定口令,即禁用账号。
-u:口令解锁。
-d:使账号无口令。
-f:强迫用户下次登录时修改口令。
如果默认用户名,则修改当前用户的口令。
Linux系统中的/etc/passwd文件用于存放用户密码的重要文件,这个文件对所有用户都是可读的,系统中的每个用户在/etc/passwd文件中都有一行对应的记录。/etc/shadow保存着加密后的用户口令。而/etc/group是管理用户组的基本文件,在/etc/group中,每行对应一个组,包括用户组名、加密后的组口令、组ID和组成员列表。可以通过passwd指令直接修改用户的密码。
命令示例
[root@local~]#passwd
root passwd for user root.
New NUIX password:
Retype new UNIX password:
passwd:all authentication tokens updated successfully.
可以通过vi /etc/passwd查看系统中的用户信息,下面列出系统的部分用户信息。
[roo@local~]#vi /etc/passed
root:x:0:0:root:/bin/bash
bin:x:1:1:bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
(20)useradd命令。
基本命令格式:useradd [option]username
此命令的作用是在系统中创建一个新用户账号,创建新账号时要分配用户号、用户组、主目录和登录Shell等资源。
参数说明:
-c comment:指定一段注释性描述。
-d 目录:指定用户主目录,如果此目录不存在,则使用-m选项可以创建主目录。
-g用户组:指定用户所属的用户组。
-G用户组:指定用户所属的附加组。
-s Shell文件:指定用户的登录Shell。
-u用户号:指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号。
userame:指定新账号的登录名,保存在/etc/passwd文件中,同时更新其他系统文件,如/etc/shadow./etc/group等。
命令示例
[root@local~]#useradd -d /usr/sam -m sam
创建一个用户账号sam,其中-d和-m选项用来为登录名为sam产生一个主目录/usr/sam,其中/usr是默认的用户主目录所在的父目录。
[root@local~]#usreaddd -s /bin/sh -g apache -G admin,root test
此命令新建一个用户test,该用户的登录Shell是\bin\sh,属于apache用户组,同时又属于admin和root用户组.
类似的命令还有usredel和usermod,分别用于删除和修改用户账号信息。
(21)groupadd命令。
基本命令格式:groupadd [option] groupname
主要参数:
-g gid:用于指定用户组的ID,这个值必须是唯一的,且不可以是负数,在使用-o参数时可以相同。通常0~499时保留给系统用的,新建的组ID都是从500开始往上递增。组账户信息存放在/etc/group中。
-r:用于建立系统组号,它会自动选定一个小于499的gid。
-f:用于在新建一个已经存在的组账号时,系统弹出错误信息,然后强制结束groupadd。避免对已经存在的组进行修改。
-o:用于指定创建新组时,gid不使用唯一的值。
命令示例
[root@local~]#groupadd -r apachein
创建一个名为apchein的系统组,其gid是系统默认选用的0~499之间的数值。也可以通过vi/etc/group看到系统中的组,下面列出系统部分分组。
root:x:o:root
bin:x:1:root,bin,daemon
daemon:x:2:root,bin,daemon
sys:x:3:root,bin,adm