一、基础知识

1.1 Linux系统的文件结构

命令说明
/bin二进制文件,系统常规命令
/boot系统启动分区,系统启动时读取的文件
/dev设备文件
/etc大多数配置文件
/home普通用户的家目录
/lib32位函数库
/lib6464位库
/media手动临时挂载点
/mnt手动临时挂载点
/opt第三方软件安装位置
/proc进程信息及硬件信息
/root临时设备的默认挂载点
/sbin系统管理命令
/srv数据
/var数据
/sys内核相关信息
/tmp临时文件
/usr用户相关设定

1.2 Linux系统命令行的含义

  • 示例 : /root@app00:~#
命令说明
root用户名,root为超级用户
@分隔符
app00主机名称
~当前所在目录,默认用户目录为~,会随着目录切换而变化,例如:(root@app00:/bin# ,当前位置在bin目录下
#表示当前用户是超级用户,普通用户为$,例如:("qian@app00:/root$" ,表示使用用户"qian"访问/root文件夹)

1.3 命令的组成

示例:命令 参数名 参数值

二、基础操作

2.1 关闭系统

(1)立刻关机

shutdown -h now 或者 poweroff

(2)两分钟后关机

shutdown -h 2

2.2 关闭重启

(1)立刻重启

shutdown -r now 或者 reboot

(2)两分钟后重启

shutdown -r 2

2.3 帮助命令(help)

命令说明
--help查看某命令的用法
  • 例如:

     ifconfig  --help     //查看 ifconfig 命令的用法

2.4 命令说明书(man)

命令说明
manshutdown打开命令说明后,可按"q"键退出

2.5 切换用户(su)

命令说明
su qian切换为用户"qian",输入后回车需要输入该用户的密码
exit退出当前用户

三、目录操作

3.1 切换目录(cd)

命令说明
cd /切换到根目录
cd /bin切换到根目录下的bin目录
cd ../切换到上一级目录 或者使用命令 : cd..
cd ~切换到home目录
cd -切换到上次访问的
cd xx(文件夹名)切换到本目录下的名为 xx 的文件目录,如果目录不存在报错
cd /xxx/xx/x可以输入完整的路径,直接切换到目标目录,输入过程中可以使用tab键快速补全

3.2 查看目录(ls)

命令说明
ls查看当前目录下的所有目录和文件
ls -a查看当前目录下的所有目录和文件(包括隐藏的文件)
ls -l列表查看当前目录下的所有目录和文件(列表查看,显示更多信息),与命令"ll"效果一样
ls /bin查看指定目录下的所有目录和文件

3.3 创建目录(mkdir)

命令说明
mkdir tools在当前目录下创建一个名为tools的目录
mkdir /bin/tools在指定目录下创建一个名为tools的目录

3.4 删除目录与文件(rm)

命令说明
rm 文件名删除当前目录下的文件
rm -f 文件名删除当前目录的的文件(不询问)
rm -r 文件夹名递归删除当前目录下此名的目录
rm -rf 文件夹名递归删除当前目录下此名的目录(不询问)
rm -rf *将当前目录下的所有目录和文件全部删除
rm -rf /*将根目录下的所有文件全部删除【慎用!相当于格式化系统】

3.5 修改目录(mv)

命令说明
mv 当前目录名 新目录名修改目录名,同样适用与文件操作
mv /usr/tmp/tool /opt/usr/tmp目录下的tool目录剪切到/opt目录下面
mv -r /usr/tmp/tool /opt递归剪切目录中所有文件和文件夹

3.6 拷贝目录(cp)

命令说明
cp /usr/tmp/tool /opt/usr/tmp目录下的tool目录复制到/opt目录下面
cp -r /usr/tmp/tool /opt递归剪复制目录中所有文件和文件夹

3.7 搜索目录(find)

命令说明
find /bin -name 'a*'查找/bin目录下的所有以a开头的文件或者目录

3.8 查看当前目录(pwd)

命令说明
pwd显示当前位置路径

四、文件操作

4.1 新增文件(touch)

命令说明
touch a.txt在当前目录下创建名为a.txt文件(文件不存在),如果文件存在,将文件时间属性修改为当前系统时间

4.2 删除文件(rm)

命令说明
rm 文件名删除当前目录下的文件
rm -f 文件名删除当前目录的的文件(不询问)

4.3 编辑文件(vi、vim)

命令说明
vi/vim 文件名打开需要编辑的文件

4.4 查看文件

命令说明
cat a.txt查看文件最后一屏内容
less a.txtPgUp向上翻页,PgDn向下翻页,q退出查看
more a.txt显示百分比,回车查看下一行,空格查看下一页,q退出查看
tail -100 a.txt查看文件的后100行,Ctrl+C退出查看

五、文件权限

5.1 权限说明

文件权限简介:
'r' 代表可读(4),
'w' 代表可写(2),
'x' 代表执行权限(1),
括号内代表"8421法"

文件权限信息示例:-rwxrw-r--

  • 第一位:-就代表是文件,d代表是文件夹
  • 第一组三位:拥有者的权限
  • 第二组三位:拥有者所在的组,组员的权限
  • 第三组三位:代表的是其他用户的权限

    5.2 文件权限

    命令说明
    chmod +x a.txt普通授权
    chmod 777 a.txt8421法 1+2+4=7,7说明授予所有权限

    六、打包与解压

    6.1 说明

    命令说明
    .zip、.rarwindows系统中压缩文件的扩展名
    .tarLinux中打包文件的扩展名
    .gzLinux中压缩文件的扩展名
    .tar.gzLinux中打包并压缩文件的扩展名

    6.2 打包文件

    命令说明
    tar -zcvf 打包压缩后的文件名 要打包的文件打包并压缩文件
    • 参数说明
      z:调用gzip压缩命令进行压缩;
      c:打包文件;
      v:显示运行过程;
      f:指定文件名;
  • 示例:
    tar -zcvf a.tar file1 file2,...//多个文件压缩打包

6.3 解压文件

命令说明
tar -zxvf a.tar解包至当前目录
tar -zxvf a.tar -C /usr------指定解压的位置
unzip test.zip解压*.zip文件
unzip -l test.zip查看*.zip文件的内容

七、其他常用命令

7.1 find

命令说明
find . -name "*.c"将目前目录及其子目录下所有延伸档名是.c的文件列出来
find . -type f将目前目录其其下子目录中所有一般文件列出
find . -ctime -20将目前目录及其子目录下所有最近 20 天内更新过的文件列出
find /var/log -type f -mtime +7 -ok rm {} \;查找/var/log目录中更改时间在7日以前的普通文件,并在删除之前询问它们
find . -type f -perm 644 -exec ls -l {} \;查找前目录中文件属主具有读、写权限,并且文件所属组的用户和其他用户具有读权限的文件
find / -type f -size 0 -exec ls -l {} \;为了查找系统中所有文件长度为0的普通文件,并列出它们的完整路径

7.2 whereis

命令说明
whereis ls将和ls文件相关的文件都查找出来

7.3 which

  • 说明which指令会在环境变量$PATH设置的目录里查找符合条件的文件。
命令说明
which bash查看指令bash的绝对路径

7.4 sudo

  • 说明sudo命令以系统管理者的身份执行指令,也就是说,经由sudo所执行的指令就好像是root亲自执行。需要输入自己账户密码。
  • 使用权限:在/etc/sudoers中有出现的使用者
命令说明
sudo -l列出目前的权限
$ sudo -u qian vi ~www/index.htmlqian用户身份编辑home目录下www目录中的index.html文件

7.5 grep

命令说明
grep -i "the" demo_file在文件中查找字符串(不区分大小写)
grep -A 3 -i "example" demo_text输出成功匹配的行,以及该行之后的三行
grep -r "ramesh" *在一个文件夹中递归查询包含指定字符串的文件

7.6 service

  • 说明service命令用于运行System V init脚本,这些脚本一般位于/etc/init.d文件下,这个命令可以直接运行这个文件夹里面的脚本,而不用加上路径
命令说明
service ssh status查看服务状态
service --status-all查看所有服务状态
service ssh restart重启服务

7.7 free

  • 说明:这个命令用于显示系统当前内存的使用情况,包括已用内存、可用内存和交换内存的情况
命令说明
free -g以G为单位输出内存的使用量,-g为GB,-m为MB,-k为KB,-b为字节
free -t查看所有内存的汇总

7.8 top

命令说明
top显示当前系统中占用资源最多的一些进程, shift + m按照内存大小查看

7.9 df

  • 说明:显示文件系统的磁盘使用情况
命令说明
df -h一种易看的显示

7.10 mount

命令说明
mount /dev/sdb1 /u01挂载一个文件系统,需要先创建一个目录,然后将这个文件系统挂载到这个目录上
dev/sdb1 /u01 ext2 defaults 0 2添加到fstab中进行自动挂载,这样任何时候系统重启的时候,文件系统都会被加载

7.12 yum

  • 说明:安装插件命令
    |命令|说明|
yum install httpd使用yum安装apache
yum update httpd更新apache
yum remove httpd卸载/删除apache

7.13 rpm

  • 说明:插件安装命令
命令说明
rpm -ivh httpd-2.2.3-22.0.1.el5.i386.rpm使用rpm文件安装apache
rpm -uvh httpd-2.2.3-22.0.1.el5.i386.rpm使用rpm更新apache
rpm -ev httpd卸载/删除apache

7.14 date

命令说明
date -s "01/31/2010 23:59:53"设置系统时间

7.15 wget

  • 说明:使用wget从网上下载软件、音乐、视频
  • 示例wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-3.2.1.tar.gz
命令说明
wget -O nagios.tar.gz http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-3.2.1.tar.gz下载文件并以指定的文件名保存文件

7.16 ftp

命令说明
ftp IP/hostname访问ftp服务器
mls *.html -显示远程主机上文件列表

7.17 scp

命令说明
scp /opt/data.txt 192.168.1.101:/opt/将本地opt目录下的data文件发送到192.168.1.101服务器的opt目录下

八、系统管理

8.1 防火墙操作

命令说明
service iptables status查看iptables服务的状态
service iptables start开启iptables服务
service iptables stop停止iptables服务
service iptables restart重启iptables服务
chkconfig iptables off关闭iptables服务的开机自启动
chkconfig iptables on开启iptables服务的开机自启动
CentOS 防火墙操作
systemctl status firewalld.service查看防火墙状态
systemctl stop firewalld.service关闭运行的防火墙
systemctl disable firewalld.service永久禁止防火墙服务

8.2 修改主机名(CentOS)

命令说明
hostnamectl set-hostname主机名

8.3 查看网络

ifconfig

8.4 修改IP

  • 修改网络配置文件,文件地址:/etc/sysconfig/network-scripts/ifcfg-eth0

主要修改以下配置:

TYPE=Ethernet网络类型
BOOTPROTO=static静态IP
DEVICE=ens00网卡名
IPADDR=192.168.1.100设置的IP
NETMASK=255.255.255.0子网掩码
GATEWAY=192.168.1.1网关
DNS1=192.168.1.1DNS
DNS2=8.8.8.8备用DNS
ONBOOT=yes系统启动时启动此设置

-------------------------------------------------

  • 修改保存以后使用命令重启网卡:service network restart

    8.5 配置映射

  • 修改文件: vi /etc/hosts

在文件最后添加映射地址,示例如下:

192.168.1.101node1
192.168.1.102node2
192.168.1.103node3
  • 配置好以后保存退出,输入命令:ping node1,可见实际ping的是192.168.1.101

    8.6 查看进程

    命令说明
    ps -ef查看所有正在运行的进程

    8.7 结束进程

    命令说明
    kill pid杀死该pid的进程
    kill -9 pid强制杀死该进程

    8.8 查看链接

    命令说明
    ping IP查看与此IP地址的连接情况
    netstat -an查看当前系统端口
    `netstat -an \grep 8080`查看指定端口

    8.9 快速清屏

    命令说明
    ctrl+l清屏,往上翻可以查看历史操作

    8.10 远程主机

    命令说明
    ssh IP远程主机,需要输入用户名和密码