Linux基础

xiaoxiao2021-03-01  25

开发的代码,最终再服务器上运行,生产环境。

Linux: 只有命令行,可以长期稳定的运行不关机。避免了

因为系统的问题导致项目运行中断。

Linux: 占用资源少,开源的软件特别多。

市面上linux系统占90%左右,windows10%左右;

centos: Community enterprise os 社区版的开源系统 redhat: 红帽开源系统 centos是基于Redhat,去掉商业软件,用开源软件替换, 替换logo,重新编译而成;

操作系统是上面? 操作系统是一系列的软件,内核 + 常用软件组成。操作系统的功能就是帮助用户去控制 硬件来解决我们实际的需求操作;

linux连接shell linux下登陆root用户 查看ip地址 ip addr

启动网卡

连接Xshell ssh://root@10.0.0.128: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

linux三剑客

* 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

获取头部前30行中的倒数11行

head -n 30 ett.txt|tail -n 11

获取大于19行且小于31行的列

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 “`

Day02:

1:简单优化

关闭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 makecache :

将服务器上的软件包信息 现在本地缓存,以提高 搜索 安装软件的速度

安装常用软件包

yum install -y bash-completion net-tools vim lrzsz wget tree screen lsof tcpdump

Xshell连接流程:

其他ssh客户端:

网络重启:

windos下面看VM配置:

linux网络连接错误:

Day02:linux目录结构

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 经常变化的文件, 邮件,日志

3:文件的属性

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列:文件名

4:软连接和硬连接

软链接:相当于window快捷方式 ln -s /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/ifcfg-eth0 ln /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/ifcfg-eth0(只能真对文件来创建硬链接)

硬链接:inode号相同

ln /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/ifcfg-eth0.link

删文件的原理:当这个硬链接值为0,而没有程序在占用,那么这个文件已经删除

5: 打压缩包和解压缩包

打包:tar zcvf /tmp/oldboy.tar.gz 打包文件的路径… 看压缩的内容不解压:tar tf /tmp/oldboy.tar.gz 解压缩包:tar zxvf /tmp/oldboy.tar.gz

6:用户管理

创建用户: useradd oldgirl passwd oldgirl

useradd oldgirl -g 1000(在指定组中创建用户)

切换用户:

linux是一个多用户,多终端的系统. su - oldboy 切换到oldboy用户 su - root

删除用户:

userdel -fr oldgirl

chmod 修改文件或目录的权限 chown 修改文件或目录的属主和属组.

7:权限管理

root oldboy oldgirl test

user group other

创建文件测试:

cd /data,需要当前用户对/data有执行权限. ls /data,需要当前用户对/data有读权限. touch /data/hehe.txt,需要当前用户对/data有写权限.

默认的目录权限:755

r:4 w:2 x:1

8:定时任务

如何命令行发邮件 cat /tmp/anaconda-ks.cfg|mail -s ‘egon dsb’ 378533872@qq.com

分时 日 月周 cat /tmp/anaconda-ks.cfg|mail -s ‘egon dsb’ 378533872@qq.com /5 * * * cat /tmp/anaconda-ks.cfg|mail -s ‘egon dsb’ 378533872@qq.com 00 9 * * * cat /tmp/anaconda-ks.cfg|mail -s ‘egon dsb’ 378533872@qq.com 30 / * * cat /tmp/anaconda-ks.cfg|mail -s ‘egon dsb’ 378533872@qq.com

编辑定时任务:

crontab -e 查看定时任务: crontab -l

9:网络管理

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地址:

ip addr ifconfig

查看监听端口:

netstat -lntup

10:安装httpd,运行一个静态网站

web服务软件: Apache httpd, Nginx

yum install httpd -y

systemctl start httpd

检测httpd服务是否正常启动,执行netstat -lntup,查看是否监听80端口

cd /var/www/html

unzip xiaoniaofeifei.zip

11:进程管理

systemctl start httpd systemctl stop httpd

ps -ef|grep ‘httpd’ kill pid pkill httpd

如果服务不受systemctl控制,那么这个服务,需要手动执行命令来启动,手动kill杀进程来停止.

转载请注明原文地址: https://www.6miu.com/read-3450004.html

最新回复(0)