Linux常见的基础命令

Linux系统重启和关机命令:
重启:reboot,shutdwon -r now
关机:shutdown -h now,poweroff

查看当前linux的发行版信息:cat/etc/redhat-release

查看linux系统的时间:
输出和更改日期时间:date(软件,系统时间)
更改日期格式:月日时分年秒
(例:date 1020213619.60)
简易更改日期格式:date -s
例:
date -s 20160813 日期为20160813
时间为00.00.00
date -s 01:01:01 设置了具体时间但日期不会更改
date -s “”或date -s ‘’设置全部时间且引号内日期与时间不分先后顺序,如下所示:
date -s “2016-08-13 01:01:01”
date -s "01:01:01 2016-08-13
date -s “20160813 01:01:01”
date -s “01:01:01 20160813”

查看硬件时间:
clock,hwclock
若系统时间与硬件时间不一致,需要两者一致则:
hwclock -w 以系统时间为准使两者一致
hwclock -s 以硬件时间为准使两者一致

查看日历: cal
cal 查看当年当月的日历
cal 年份 查看一年日历
cal 月份 年份 查看当年当月的日历
cal -1 查看该月的日历
cal -3 查看前一个月,本月,下月的日历

修改主机名:
hostname或者hostnamectl set-hostname(永久生效)

一.文件基本操作命令

(1)查看当前的工作目录: pwd
(2)更改当前目录即切换目录: cd
注:
1.绝对路径(以/开始的路径):cd /home/redhat
2.相对路径(相对于当前路径来说即不是以/开始的路径):cd home; cd redhat
直接回到当前用户的主目录:cd ~
回到当前目录的上一级目录:cd . .
回到当前目录:cd .
切换到之前的目录:cd -
修改密码:password
删除密码:password -d 用户名

(3)查看目录下的文件: ls
ls -d 查看当前目录
ls -l 以长列表方式列出
例:
[root@yxy ~]# ls -l
-rw-------. 1 root root 1116 11月 13 18:15 anaconda-ks.cfg
-rw-r–r--. 1 root root 12526 11月 13 18:15 install.log
-rw-r–r--. 1 root root 3482 11月 13 18:14 install.log.syslog
解释长列表方式列出:
文件权限 连接数 属主 属组 大小 日期 时间 文件名
-rw-r–r--. 1 root root 12526 11月13 18:15 install.log
ls -ld 长列表列出当前目录的详细信息
ls -a 列出隐藏文件
ls -A 列出隐藏文件
说明:若文件名以“.”或者“…”开头,则认为是隐含的,进而普通的ls命令不显示以“.”开头的文件;所以要完全显示某目录下的文件清单,必须加上-a参数才行。而-A则不包含“.”和“…”
ls -R 递归显示指定目录下的文件清单

(4)创建普通文件:touch
touch的两种用法:
1.若文件以存在,则改变文件的最后修改时间
2.若文件不存在,则表示创建文件

(5)删除文件:rm
删除普通文件:rm [-f] 文件名
删除目录文件:rm -r [-f] 目录文件名

(6)创建目录文件:mkdir
mkdir -p 如果需要的话创建父目录
mkdir -v显示创建目录的详细过程
说明:参数-p功能是如果要创建的目录的父目录不存在,则先创建其父目录,再创建该目录; 如果指定的目录存在,则不影响原目录,也不会报错。

(7)复制文件:cp
例如:
[root@yxy ~]# cp /etc/* abc
功能:将/etc/目录下的文件复制到目录abc中。“*”是通配符,可以匹配多个字符;“?”只能匹配一个字符。
[root@yxy ~]# cp -R /etc abc
功能:增加了参数-R,就能将目录/etc下面的所有子目录和文件都复制到目录abc中。

(8)移动文件:mv
例如:
[root@yxy ~]# mv myfile mydir1
功能:如果mydir1存在且是个目录,则将文件myfile移动到目录mydir1中。
[root@yxy ~]# mv myfile myfile2
功能:将文件(或目录)myfile改名为myfile2。

(9)删除指定的目录:rmdir
[root@yxy ~]# rmdir mydir1
功能:删除指定的空目录。

(10)连接并显示文件内容:cat
cat -n 显示文件内容并显示行号
[root@yxy ~]# cat > myfile2
功能:利用输出重定向符“>”来创建简短的文本文件myfile2
重定向:>
追加重定向:>>

(11)head命令与tail命令
默认查看文件前10行:head /etc/passwd
指定查看前5行:head -5 /etc/passwd
默认查看后10行:tail /etc/passwd
查看后5行:tail  -5 /etc/passwd

(12)more与less命令
more /etc/httpd/conf/httpd.conf
功能:分屏显示指定文件httpd.conf的内容,非常适合显示超过一屏的文本文件。每按一下空格键,向后翻一屏;每按一次回车键,向后翻一行。
说明:less与more功能很相似,只不过less功能更强大,支持PageUp键向前翻屏,及PageDown向后翻屏。

二. 文件属性操作命令

1. chown命令

(1)chown示例一——改变文件的属主
[root@yxy ~]# chown user1 hello.txt
功能:将指定文件hello.txt的属主(所有者)改为user1。
(2)chown示例二——递归改变文件的属主
chown -R user1 mydir
功能:参数-R,表示递归,即可以深入到指定目录中的每一层,将所有子目录和文件的属主(所有者)改为指定的用户;本例中会将mydir目录中所有子目录和文件的属主设定为user1。

2. chgrp命令

(1)chgrp示例一——改变文件的属组
chgrp mygroup1 hello.txt
功能:将指定文件hello.txt的属组改为mygroup1。
(2)chgrp示例二——递归改变文件的属组
chgrp -R mygroup1 mydir
功能:参数-R,表示递归,即可以深入到指定目录中的每一层,将所有子目录和文件的属组改为指定的组;本例中会将mydir目录中所有子目录和文件的属组设定为mygroup1。

3. chmod命令

(1)chmod示例一——字母方式
chmod u/g/o/a =/+/- r/w/x 文件名
图中字母u针对属主、g针对属组、o针对其他用户、a针对所有用户;
=表示赋予(设置)指定权限,要注意它会覆盖原权限,+表示在原有权限的基础上增加指定权限,-表示在原有权限的基础上去掉指定权限;
r、w、x三种权限,既可以单独使用也可以组合使用
(2)chmod示例二——数字方式
这种方式是先将每个权限位化成二进制数,其中如果某权限位是“-”则用0来表示,否则用1来表示;接着,将这9列权限分为三组(每三位一组),再将每组化成一个八进制数。
例如,某文件有如下权限rwxrw-r–,则转换为二进制数为111110100,再化为八进制数则为764;反之,当看到八进制数764时也应该很快转化为相应权限。
chmod 764 host.conf
功能:将文件host.conf的权限设置为:
属主拥有全部权限;
属组拥有读写权限;
其他用户拥有只读权限。

三.查找命令

1. which命令

[root@yxy ~]# which cp
/bin/cp
[root@yxy ~]# which updatedb
/usr/bin/updatedb
功能:显示命令的绝对路径。
注意:该命令只能在命令搜索路径指定的目录中去查找命令或程序。

2. whereis命令

[root@yxy ~]# whereis ln
ln: /bin/ln /usr/share/man/man1/ln.1.gz /usr/share/man/man1p/ln.1p.gz
功能:查询指定命令所在目录以及帮助文档所在目录。

3. find命令

(1)find示例一——按文件名查找
find / -name “dhcpd*”
功能:参数-name指明按文件名进行查找,即从/目录开始查找以dhcpd开头的所有文件。
(2)find示例二——按文件大小查找
[root@yxy ~]# find /etc -size 8
功能:从/etc下开始查找大小为8块的文件,此处默认512字节为1块。若认为块大小为1k,则应写为8k。
其它可以使用的单位有c(字节)、w(双字节)、M(兆字节)和G(吉字节)。
(3)find示例三——按文件类型查找
find /var -type d -print
功能:从/var目录下开始查找类型为目录的文件,其中参数-print是显示到屏幕上的意思,经常省略。
(4)find示例四——按文件的修改时间查找
[root@yxy ~]# find . -cmin -5
功能:从当前目录下查找5分钟之内修改过的文件。
如果把“-5”改为 “+5”,则表示查找5分钟以前修改过的文件。不带“+”或“-”,则认为整5分钟。
如果把时间单位改为天,则使用参数“-ctime”,请看示例:
(5)find示例五——按文件的权限查找
[root@yxy ~]#find mytmp -perm 755
功能:查找mytmp目录下的权限恰为755的文件。
[root@yxy ~]#find mytmp -perm +755
功能:查找mytmp目录下的满足755中任何一种权限的文件,即符合任何一个指定的权限位即可。
[root@yxy ~]#find mytmp -perm -755
功能:查找mytmp目录下的权限至少满足755的文件,即指定的所有权限位必须符合才算满足查询条件。

四.文件内容操作命令

1. grep命令

(1)grep示例一——在指定的文件中查找包含特定的字符串的行
[root@yxy ~]# grep “bind” host.conf
功能:在文件host.conf中查找包含字符串“bind”行。
[root@yxy ~]# grep “network” /etc/*.conf
功能:利用通配符可在多个文件中查找包含特定的字符串的行。本例会在/etc下扩展名为.conf文件中查找包含字符串“network”的行。
(2)grep示例二——查找不包含指定字符串的行
grep -v “network” /etc/nsswitch.conf
功能:查找/etc/nsswitch.conf文件中不包含字符串“network”的行。

2. wc命令

(1)wc示例一——统计指定文件的行数、单词数和字符数
[user1@server2 ~]# wc /etc/nsswitch.conf 63 272 1718 /etc/nsswitch.conf
功能:统计出文件/etc/nsswitch.conf共有63行、272个单词、1718个字符
(2)wc示例二——参数使用
wc -l /etc/nsswitch.conf 63 /etc/nsswitch.conf
功能:参数-l的功能可统计出指定文件的行数。另外,利用参数-w统计单词,利用-c统计字符数。

3. sort命令

(1)sort示例一——按正序输出
[root@yxy ~]# sort mytest
功能:将指定文件以行为单位按正序输出。
(2)sort示例二——按逆序输出
[root@yxy ~]# sort -r mytest
功能:将指定文件以行为单位按逆序输出。

4. diff 命令

[root@yxy ~]# diff test mytest
功能:比较文件test与mytest是否相同,将不同之处输出到屏幕上。

5. cut 命令

cut命令是一个文本提取工具,它以行为单位,将每行看作一条记录,而字段之间的分隔符可以灵活地定义。
(1)cut示例一——按特定的分隔符提取指定的字段
[user1@server2 ~]# cut -d: -f1 /etc/passwd
功能:参数-d用来定义字段之间的分隔符,参数-f指定提取第几个字段;本例为提取/etc/passwd文件中以“:”为分隔符的第1个字段。

五.压缩打包命令

1. tar命令

tar命令是经典的备份/还原命令,几乎所有最新的软件包都是通过tar包发布的。
(1)tar命令示例一——打包(备份)
[user1@server2 ~]# tar -cvf myetc.tar /etc
功能: 参数-c的功能是打包(创建),
参数-v是显示处理过程,
参数-f是用来指定文档名;
本例的功能是:将目录/etc打包为一个名为myetc.tar的文档。
(2)tar命令示例二——打包(备份)并压缩
tar -zcvf myetc.tar.gz /etc
功能:将目录/etc打包并压缩为一个名为myetc.tar.gz的文档。
说明:其中参数-z是调用gzip命令来压缩,扩展名为gz,
参数-Z是调用compress命令来压缩,扩展名为Z,
参数-j是调用bzip2命令来压缩,扩展名为bz2。

六.网卡配置命令

(1)ifconfig命令示例一——显示接口(网卡)配置参数
[root@server2 ~]# ifconfig
功能:显示网卡参数的配置情况,包括IP地址、子网掩码、广播地址等。
(2)ifconfig命令示例二——设置接口(网卡)配置参数
ifconfig eth0 10.22.1.103 netmask 255.255.255.0
功能:设置网卡eth0的IP地址为10.22.1.103、掩码为255.255.255.0。
说明:eth0是系统中第1块以太网卡的名称,eth1是系统中第2块以太网卡的名称,以此类推。lo是环回测试网卡的名称。
(3)ifconfig命令示例三——禁用某块网卡
[root@server2 ~]# ifconfig eth0 down
功能:禁用网卡eth0。
说明:此时再用不带参数的ifconfig命令是不能显示eth0的信息的,需要加上参数“-a”才可显示被禁用的网卡信息。
(4)ifconfig命令示例四——激活某块网卡
[root@server2 ~]# ifconfig eth0 up
功能:激活网卡eth0。

七. 查看进程命令

1. ps命令

(1)ps命令示例一——不带参数
[user1@server2 ~]# ps
功能:查询在当前控制台上运行的进程。
(2)ps命令示例二——查看所有进程
[user1@server2 ~]# ps -aux
功能:查询系统中所有运行的进程,包括后台进程,其中参数a是所有进程,参数x包括不占用控制台的进程,参数u显示用户。
(3)ps命令示例三——查看所有进程
[user1@server2 ~]# ps -ef
功能:查询系统中所有运行的进程,包括后台进程,而且可以显示出每个进程的父进程号。

2. pstree命令

(1)pstree命令示例一——树状格式显示进程列表
[user1@server2 ~]# pstree
功能:以树状格式显示系统的进程列表。
(2)pstree命令示例二——带进程号的树状格式显示进程列表
[user1@server2 ~]# pstree -p
功能:以树状格式显示系统的进程列表,并标识出每个进程的进程号。

3. top命令

[user1@server2 ~]# top
功能:动态地显示系统中的进程。

4. kill命令

(1)kill命令示例一——杀掉指定进程
[user1@server2 ~]# kill 3029
功能:kill命令可以杀掉一个进程,当然普通用户只能杀掉自己的进程。
说明:上述命令中3029是进程号;一般在执行kill命令之前,先用ps或pstree来查询一下将要被杀掉的进程的进程号。
(2)kill命令示例二——强制杀掉指定进程
[user1@server2 ~]# kill -9 3029
功能:强制终止3029号进程的运行,其中参数-9代表强制的意思。
说明:实际上kill命令是向该进程发送信号,该进程接到信号后决定是否停止运行,有些守护进程必须要收到参数9才终止运行。

八.rpm命令

(1)rpm命令示例一——查询系统中安装的软件包
[root@yxy ~]# rpm -qa
功能:查询系统中安装的软件包列表,其中参数-q的功能是“查询”,参数-a的功能是“所有的”。
(2)rpm命令示例二——查询软件包中文件清单
[root@yxy ~]#rpm -ql php
功能:查询已安装的软件包php中的文件列表,其中参数-l的功能是“列出指定软件包中的文件”。
(3)rpm命令示例三——卸载指定的软件包
[root@yxy ~]# rpm -e php
功能:卸载已安装的软件包php,参数-e的功能是“卸载”。
说明:请注意执行上述命令时,采用的身份是不同的,普通用户只能执行查询操作。
(4)rpm命令示例四——安装软件包
rpm -ivh php-4.3.9-3.1-i386.rpm
功能:安装软件包php,
参数-i的功能是“安装”,
参数-v的功能是“显示处理过程”,
参数-h的功能是显示“#”来表示进度。
(5)rpm命令示例五——强制安装软件包
rpm -ivh --force php-4.3.9-3.1-i386.rpm
功能:强制安装软件包php,参数–force表示强制的意思。
说明:如果要安装的软件的版本比较低或该软件包在系统中已存在,系统会给出提示并拒绝安装,此时可以加上参数—force来进行强制安装。
(6)rpm命令示例五——忽略依赖关系安装软件包
rpm -ivh --nodeps php-4.3.9-3.1-i386.rpm
功能:安装软件包php时忽略与其它软件包的依赖关系,参数–nodeps表示忽略依赖关系。
说明:在安装或卸载软件时经常会遇到提示“该软件包与某某软件包存在依赖关系”,只有加上参数–nodeps忽略掉依赖关系才能进行安装或卸载。
(7)卸载
首先通过 rpm -q <关键字> 可以查询到rpm包的名字
然后 调用 rpm -e <包的名字> 删除特定rpm包
如果遇到依赖,无法删除,使用 rpm -e --nodeps <包的名字> 不检查依赖,直接删除rpm包

你可能感兴趣的:(Linux常见的基础命令)