因为系统的问题导致项目运行中断。
市面上linux系统占90%左右,windows10%左右;
centos: Community enterprise os 社区版的开源系统
redhat: 红帽开源系统
centos是基于Redhat,去掉商业软件,用开源软件替换,
替换logo,重新编译而成;
操作系统是上面?
操作系统是一系列的软件,内核 + 常用软件组成。操作系统的功能就是帮助用户去控制
硬件来解决我们实际的需求操作;
linux连接shell
linux下登陆root用户
查看ip地址 ip addr
启动网卡
连接Xshell
ssh://[email protected]:22
创建目录:
mkdir == make directory
mkdir /data(文件夹名字及其所在的路径)
mkdir 绝对路径 -p 创建多级目录
查看指定目录下的内容
ls == list
ls /(目录)
ls -l —long 显示文件的详细信息
打印当前路径
pwd == print work directory
切换目录
cd == change directory
cd /data 选择到指定目录下
创建一个空白文件
touch kermitjam.txt
编辑文件
vi kermitjam.txt
i == insert —-光标当前插入
a == append —-光标之后插入
o —-光标下一行插入
按esc—>:—>wq 回车保存内容
cat 一次性查看文件的所有内容
more 分页查看文件的内容 只能往下看
less 分页查看文件的内容 可以上下查看
cp == copy
cp 绝对路径 指定目录
cp /etc/services .(点是指当前路径)
| 管道
/ 根目录
. 当前目录
~ 用户家目录
- 上一次所在的目录
.. 上一级目录
{ } 代表一个范围
重定向
相对路径: etc/services
移动 剪切
mv data 指定目录
mv == move
删除
rm 文件名 有提示是否删除
rm -f kermitjam.txt 强制删除
rm == remove
删除目录
rm -rf data 不管有多少层目录都删除掉
hear 去文件的头部n行
tail 取文件的倒数n行
seq 生成队列
alias 查看别名
定义别名alias ipr=’ip addr’
unalias 取消别名 unalias ipr
find 查找
Linux 三剑客
grep 最擅长过滤
sed 擅长替换
awk 擅长取列
操作
mkdir /data
验证:
ls /
cd /data
touch oldboy.txt
验证:
ls -l
vi oldboy.txt
默认进入常规模式,按i进入到插入模式,I am studying linux. 按esc回到常规模式,:wq保存并退出
i,a,o,
i光标当前插入
a光标之后插入
o光标的下一行
cat oldboy.txt
cp oldboy.txt /tmp/
mv data /root
cd /root/data
rm oldboy.txt
cd ..
rm -rf data
* grep 最擅长过滤
* sed 擅长替换
* awk 擅长取列
方法1:grep -v ‘oldboy’ test.txt
方法2:sed ‘/oldboy/d’ test.txt
方法3:awk ‘NR<3’ test.txt
方法4:head -n 2 test.txt
方法1:/usr/bin/cp -i /mnt/test.txt /tmp
方法2:\cp /mnt/test.txt /tmp
方法3:unalias cp
cp /mnt/test.txt /tmp
head -n 30 ett.txt|tail -n 11
awk ‘NR>19 && NR<31’ ett.txt
sed -n ‘/20/,/30/p’ ett.txt
grep ‘20’ -A 10 ett.txt
grep ‘30’ -B 10 ett.txt
grep ‘25’ -C 5 ett.txt
find /oldboy -type f -name “*.sh”|xargs sed -i ‘s#./hostlists.txt#../idctest_iplist#g’
find找出来的结果,是一段文本信息,xargs将找出来的文本,转换成文件对象
1:创建一个多级目录/oldboy/demo/data
mkdir -p /oldboy/demo/data
2: 在/oldboy/demo/data目录下,创建两个文件manager.py和rule.py
touch manager.py rule.py
touch /oldboy/demo/data/{manager.py,rule.py}
3:为上题中的rule.py
/etc/services:
Id:services,v1.552013/04/14ovasikExp I d : s e r v i c e s , v 1.55 2013 / 04 / 14 o v a s i k E x p
Network services, Internet style
IANA services version: last updated 2013-04-10
4:把/etc/services拷贝到/oldboy/demo/data下
cp /etc/services .
5:把/oldboy/demo/data全部移动到/tmp,保持oldboy目录结构不变
cd /
mv oldboy /tmp/
6: 删除/tmp/oldboy/demo/data下,除rule.py以外的文件
rm -f services manager.py
7:删除/tmp目录下的oldboy目录及oldboy子目录
rm -fr oldboy
“`
关闭firewalld,selinux,NetworkManager
优化yum源
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
将服务器上的软件包信息 现在本地缓存,以提高 搜索 安装软件的速度
yum install -y bash-completion net-tools vim lrzsz wget tree screen lsof tcpdump
bin 普通用户可以二进制命令文件
boot 系统的启动引导文件
dev device设备文件的所在目录
etc 配置文件的目录
home 所有普通用户的家目录(老百姓家)
lib 32位库文件
lib64 64位库文件
media 不用
mnt 临时挂载点
opt 普通目录
proc 把内存中进程的信息挂载在/proc
root root用户的家目录(皇宫)
run pid的存放目录
sbin root用户可以二进制命令文件
srv 不用
sys 系统内核运行的时候产生的文件
tmp 临时目录
usr 用户自己安装的软件的所有文件
var 经常变化的文件, 邮件,日志
ls -il每一列的意思inode(索引)
34210746 -rw-r–r–. 1 root root 292 Aug 5 18:17 ett.txt
33554536 -rwxr-xr-x. 1 root root 117656 Aug 12 10:57 oldboy
34210745 -rw-r–r–. 1 root root 48 Aug 5 16:03 test.txt
-rw-r–r–
第一个字母-(普通文件)d(目录)l(软链接)s(sock文件)b(block存储文件)c(chars输入输出设备)
find -type f
rw- r– r– 9位权限位
属主 属组 other
r读
w写
x执行
第二列最后的点.,在seliunx运行的时候,创建处理的文件就会有点.
第三列:硬链接的数量
第四列:root属主
第五列:root属组
第六列:文件的大小
第7-9列:文件的Modify时间
第10列:文件名
软链接:相当于window快捷方式
ln -s /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/ifcfg-eth0
ln /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/ifcfg-eth0(只能真对文件来创建硬链接)
ln /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/ifcfg-eth0.link
删文件的原理:当这个硬链接值为0,而没有程序在占用,那么这个文件已经删除
打包:tar zcvf /tmp/oldboy.tar.gz 打包文件的路径…
看压缩的内容不解压:tar tf /tmp/oldboy.tar.gz
解压缩包:tar zxvf /tmp/oldboy.tar.gz
创建用户:
useradd oldgirl
passwd oldgirl
useradd oldgirl -g 1000(在指定组中创建用户)
linux是一个多用户,多终端的系统.
su - oldboy 切换到oldboy用户
su - root
userdel -fr oldgirl
chmod 修改文件或目录的权限
chown 修改文件或目录的属主和属组.
root
oldboy
oldgirl
test
user
group
other
cd /data,需要当前用户对/data有执行权限.
ls /data,需要当前用户对/data有读权限.
touch /data/hehe.txt,需要当前用户对/data有写权限.
r:4
w:2
x:1
如何命令行发邮件
cat /tmp/anaconda-ks.cfg|mail -s ‘egon dsb’ [email protected]
分时 日 月周 cat /tmp/anaconda-ks.cfg|mail -s ‘egon dsb’ [email protected]
/5 * * * cat /tmp/anaconda-ks.cfg|mail -s ‘egon dsb’ [email protected]
00 9 * * * cat /tmp/anaconda-ks.cfg|mail -s ‘egon dsb’ [email protected]
30 / * * cat /tmp/anaconda-ks.cfg|mail -s ‘egon dsb’ [email protected]
crontab -e
查看定时任务:
crontab -l
vim /etc/sysconfig/network-scripts/ifcfg-eth0
BOOTPROTO=”static”
IPADDR=”10.0.0.111”
NETMASK=”255.255.255.0”
GATEWAY=”10.0.0.2”
DNS1=”223.5.5.5”
DNS2=”223.6.6.6”
systemctl restart network
ping www.baidu.com
route -n
ip addr
ifconfig
netstat -lntup
web服务软件: Apache httpd, Nginx
检测httpd服务是否正常启动,执行netstat -lntup,查看是否监听80端口
systemctl start httpd
systemctl stop httpd
ps -ef|grep ‘httpd’
kill pid
pkill httpd