一、基础知识
1.1 Linux系统的文件结构
/bin 二进制文件,系统常规命令
/boot 系统启动分区,系统启动时读取的文件
/dev 设备文件
/etc 大多数配置文件
/home 普通用户的家目录
/lib 32位函数库
/lib64 64位库
/media 手动临时挂载点
/mnt 手动临时挂载点
/opt 第三方软件安装位置
/proc 进程信息及硬件信息
/root 临时设备的默认挂载点
/sbin 系统管理命令
/srv 数据
/var 数据
/sys 内核相关信息
/tmp 临时文件
/usr 用户相关设定
1.2 Linux系统命令行的含义
root
@
app00
~
#
1.3 命令的组成
示例:命令 参数名 参数值
二、基础操作
2.1 重启系统
reboot
2.2 关闭系统
shutdown -h now / poweroff
shutdown -h 2
2.3 帮助命令
ifconfig --help
2.4 命令说明书
man shutdown
2.5 切换用户
su yjh
exit
三、目录操作
3.1 切换目录
cd / //切换到根目录
cd /bin //切换到根目录下的bin目录
cd ../ //切换到上一级目录 或者使用命令:cd ..
cd ~ //切换到home目录
cd - //切换到上次访问的目录
cd xx(文件夹名) //切换到本目录下的名为xx的文件目录,如果目录不存在报错
cd /xxx/xx/x //可以输入完整的路径,直接切换到目标目录,输入过程中可以使用tab键快速补全
3.2 查看目录
ls //查看当前目录下的所有目录和文件
ls -a //查看当前目录下的所有目录和文件(包括隐藏的文件)
ls -l //列表查看当前目录下的所有目录和文件(列表查看,显示更多信息),与命令"ll"效果一样
ls /bin //查看指定目录下的所有目录和文件
3.3 创建目录
mkdir tools
mkdir /bin/tools
3.4 删除目录与文件
rm 文件名 //删除当前目录下的文件
rm -f 文件名 //删除当前目录的的文件(不询问)
rm -r 文件夹名 //递归删除当前目录下此名的目录
rm -rf 文件夹名 //递归删除当前目录下此名的目录(不询问)
rm -rf * //将当前目录下的所有目录和文件全部删除
rm -rf /* //将根目录下的所有文件全部删除【慎用!相当于格式化系统】
3.5 修改目录
mv 当前目录名 新目录名 //修改目录名,同样适用与文件操作
mv /usr/tmp/tool /opt //将/usr/tmp目录下的tool目录剪切到 /opt目录下面
mv -r /usr/tmp/tool /opt //递归剪切目录中所有文件和文件夹
3.6 拷贝目录
cp /usr/tmp/tool /opt //将/usr/tmp目录下的tool目录复制到 /opt目录下
cp -r /usr/tmp/tool /opt //递归剪切复制目录中所有文件和文件夹
3.7 搜索目录
find /bin -name 'a*'
3.8 查看当前目录
pwd
四、文件操作
4.1 新增文件
touch a.txt //在当前目录下创建名为a的txt文件(文件不存在),若文件存在,将文件时间属性修改为当前系统时间
4.2 删除文件
rm 文件名
rm -f 文件名
4.3 编辑文件(vi、vim)
vi 文件名
-刚进入文件就是命令模式,通过方向键控制光标位置,
-使用命令"dd"删除当前整行
-使用命令"/字段"进行查找
-按"i"在光标所在字符前开始插入
-按"a"在光标所在字符后开始插入
-按"o"在光标所在行的下面另起一新行插入
-按":"进入底行模式
-此时可以对文件内容进行编辑,左下角会显示 "-- 插入 --""
shift+insert //粘贴
-按"ESC"进入底行模式
//底行模式
-退出编辑: :q
-强制退出: :q!
-保存并退出: :wq
//操作步骤示例
1.保存文件:按"ESC" -> 输入":" -> 输入"wq",回车 //保存并退出编辑
2.取消操作:按"ESC" -> 输入":" -> 输入"q!",回车 //撤销本次修改并退出编辑
//补充
vim +10 filename.txt //打开文件并跳到第10行
vim -R /etc/passwd //以只读模式打开文件
4.4 查看文件
cat a.txt
less a.txt
more a.txt
tail -100 a.txt
五、文件权限
5.1 权限说明
文件权限简介:'r' 代表可读(4),'w' 代表可写(2),'x' 代表执行权限(1),括号内代表"8421法"
5.2 文件权限
普通授权 chmod +x a.txt
8421法 chmod 777 a.txt //1+2+4=7,"7"说明授予所有权限
六、打包与解压
6.1 说明
.zip、.rar
.tar
.gz
.tar.gz
6.2 打包文件
tar -zcvf 打包压缩后的文件名 要打包的文件
tar -zcvf a.tar file1 file2,...
6.3 解压文件
tar -zxvf a.tar
tar -zxvf a.tar -C /usr------
unzip test.zip
unzip -l test.zip
七、其他常用命令
7.1 find
find . -name "*.c"
find . -type f
find . -ctime -20
find /var/log -type f -mtime +7 -ok rm {} ;
find . -type f -perm 644 -exec ls -l {} ;
find / -type f -size 0 -exec ls -l {} ;
7.2 whereis
whereis ls //将和ls文件相关的文件都查找出来
7.3 which
//说明:which指令会在环境变量$PATH设置的目录里查找符合条件的文件。
which bash //查看指令"bash"的绝对路径
7.4 sudo
使用权限:在 /etc/sudoers 中有出现的使用者
sudo -l
$ sudo -u yao vi ~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 ssh status
service --status-all
service ssh restart
7.7 free
free -g
free -t
7.8 top
top
7.9 df
说明:显示文件系统的磁盘使用情况
df -h
7.10 mount
mount /dev/sdb1 /u01 //挂载一个文件系统,需要先创建一个目录,然后将这个文件系统挂载到这个目录上
dev/sdb1 /u01 ext2 defaults 0 2 //添加到fstab中进行自动挂载,这样任何时候系统重启的时候,文件系统都会被加载
7.11 uname
//说明:uname可以显示一些重要的系统信息,例如内核名称、主机名、内核版本号、处理器类型之类的信息
uname -a
7.12 yum
yum install httpd
yum update httpd
yum remove httpd
7.13 rpm
rpm -ivh httpd-2.2.3-22.0.1.el5.i386.rpm
rpm -uvh httpd-2.2.3-22.0.1.el5.i386.rpm
rpm -ev httpd
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
mls *.html -
7.17 scp
scp /opt/data.txt 192.168.1.101:/opt/
八、系统管理
8.1 防火墙操作
service iptables status
service iptables start
service iptables stop
service iptables restart
chkconfig iptables off
chkconfig iptables on
systemctl status firewalld.service
systemctl stop firewalld.service
systemctl disable firewalld.service
8.2 修改主机名(CentOS 7)
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.1 //DNS
DNS2=8.8.8.8 //备用DNS
ONBOOT=yes //系统启动时启动此设置
-------------------------------------------------
修改保存以后使用命令重启网卡:service network restart
8.5 配置映射
修改文件: vi /etc/hosts
在文件最后添加映射地址,示例如下:
192.168.1.101 node1
192.168.1.102 node2
192.168.1.103 node3
配置好以后保存退出,输入命令:ping node1 ,可见实际 ping 的是 192.168.1.101。
8.6 查看进程
ps -ef
8.7 结束进程
kill pid
kill -9 pid
8.8 查看链接
ping IP
netstat -an
netstat -an | grep 8080
8.9 清屏
Ctrl+l
clear
8.10 远程主机
ssh IP