Linux基本知识
切换终端 Ctrl+Alt+F[1~6] 关闭Linux系统 init 0 普通用户的提示符:$ root用户的提示符:# 退出终端: exit whoami 查看当前登录的用户是谁 who 列出目前哪些用户在系统上工作 date 看日期 date '月日时分年' 更改时间 比如 date '120820202018' cal 看日历 cal 7 1999 查看1999年7月份日历 clear 清屏 hwclock -s 同步硬件时间 hwclock -w 同步系统时间 useradd 创建用户 useradd pzl passwd 更改密码 passwd pzl 123456 su 从当前用户切换到另一个用户 su - pzl man 获取帮助信息 man useradd q键退出 或者是使用 --help 如:ls --help ls -la 显示包括隐藏文件在内的所有文件信息 alias 起别名 alias pangzl='ls -l' 之后就可以用pangzl代替ls -l命令 Linux中的一些重要目录
绝对路径和相对路径
cd ~ 当前用户的家目录 直接写 cd 也可以 cd - 返回上一次所在的目录 cp 复制文件和目录 cp 目标路径 目的路径 cp -i 拷贝前询问是否覆盖 cp -r 没有目录时会创建目录 mv 移动及修改文件和目录名 mv 目标路径 目的路径 mv aaa bbb 改名 mkdir 创建目录 mkdir -p /dir1/dir2/dir3/dir4 目录不存在时用-p touch 创建文件 touch /dir1/dir2/dir3/dir4/a.text rm 删除文件 rm -f 删除没有提示 rm -r 删除目录 rm -rf 啥都删 慎用 cat 查看命令 head 查看文件的头几行 默认前10行 head -2 /etc/passwd 显示头两行 tail 查看文件的后几行 默认后10行 tail -f 动态查看文件内容的变化 作用:用来查看日志 more 查看的文件以百分比的方式显示 可以用回车键下翻 less 查看可以用上下键去翻 linux权限管理
id pzl 查看pzl的信息 useradd -u 指定用户的UID useradd -g 指定用户所属的群组 useradd -d 指定用户的家目录 useradd -c 指定用户的备注信息 useradd -s 指定用户所用的shell useradd -u 1010 -g pzl -d /home/pangzl -c cool -s /bin/bash pangzl userdel -r pangzl 删除用户 usermod 修改用户信息 ls -l 看到的信息 权限信息 硬链接数 属主 属组 文件大小 文件创建日期 文件名 权限信息有10位 第1位:文件类型 -代表普通文件 d代表目录 l代表软连接 b代表设备文件 p代表管道文件 2-4:属主的权限 r读 w写 x执行 5-7:属组的权限 8-10:其他用户的权限 rwx可以用数字表示 r对应4 w对应2 x对应1 rwx 是数字 7 rw 是数字 6 wx 是数字 3 chmod 664 a.txt 相当于 chmod u=rw-,g=rw-,o=r-- a.txt chmod 更改权限 chmod u 更改属主的权限 chmod u-rw a.txt chmodu+rw a.txt chmod u=rwd a.txt chmod g 更改属组的权限 chmod o 更改其他用户的权限 执行文件的方法 sh 文件路径 bash 文件路径 . 文件路径 ./ 文件路径 (用这个) 对目录的权限 r: 可以ls该目录下的子文件名,子目录名 w: 可以在该目录下创建,删除,重命名 x: 可以cd到该目录下 chown 更改属主属组的权限 chown root.root a.txt 都改 chown .root a.txt 只改属组 chown root a.txt 只改属主 chown -R root.root /test/ 更改test目录及目录下的所有文件和目录 文件合并与归档 > 左面内容覆盖给右面 cat /etc/passwd new_pass.txt >> 左面内容追加给右面 echo 回显命令 echo 'hello' > new_pass.txt wc -l /etc/passwd 统计文件有多少行 | 管道符 cat /etc/passwd | wc -l 也可以统计有多少行 归档 tar -cvf test.tar a.txt b.txt c.txt 加v可以显示打包的内容 c创建 f是名字 tar -tf test.tar 查看归档文件 tar -xvf /tmp/test/test.tar -C /opt/ 解包到opt目录 不加-C默认解包到当前目录 压缩 gzip test.txt 或者 bzip2 test.txt 解压 gunzip test.txt.gz 或者 bunzip2 test.txt.bz2 归档后直接压缩 tar czvf test.tar.gz test.txt.gz 解包 tar xvf test.tar.gz 打包目录下所有的文件 tar czvf test1.tar.gz * vim编辑器 dd 删除光标所在的那一行 相当于剪切操作 dd后可以粘贴 u 撤销上一步操作 ctrl+r 撤销u的操作 ndd 删除光标所在的向下n行 yy 复制光标所在的那一行 nyy 复制光标所在的向下n行 p 将已复制的数据在光标下一行粘贴 P 将已复制的数据在光标上一行粘贴 np 将内容粘贴n行 100p 就是将复制的内容粘贴100次 光标移动 0 是到行首 $ 是到行尾 G 光标移动到这个文件的最后一行 nG 光标移动到第n行 gg 光标移动到第一行 补充: ctrl+a跳到命令行的首部 ctrl+e跳到命令行的尾部 H 光标移动到这个屏幕的最上方那一行的第一个字符 M 光标移动到这个屏幕的中央那一行的第一个字符 L 光标移动到这个屏幕的最下那一行的第一个字符 :set nu 显示行号 :/ 查找 找到后n查找下一个 N查找上一个 Linux系统启动流程 vim /etc/inittab 更改启动级别 grub加密 bios加密 top命令 任务管理器 free命令 查看内存信息 free -m 以兆为单位 free -h 以G为单位 ps命令 用来显示当前的进程 ps aux 查看所有进程及详细信息 ps aux | grep 'root' grep 是筛选命令 grep '/bin/bash' /etc/passwd 查看passwd文件中包含 bash的行 grep -v 反向匹配 kill 2423 杀掉进程 kill -9 2423 强制杀死进程 firefox & 可以在后台运行浏览器 jobs 查看后台运行的程序 fg %1 将程序又调到前台运行 1是后台运行程序的工作号 可用jobs查看到 pstree 查看进程树 Linux磁盘分区 fdisk -l /dev/sdb 查看磁盘信息 fdisk /dev/sdb n 回车 +5G p(查看) w(保存) 之后partprobe 更新分区列表 之后mkfs.ext4 /dev/sdb1 格式化 (注意扩展分区不能格式化) 之后挂在才可以使用 mount /dev/sdb1 /自己创建个文件夹/ df 查看挂载信息 umount 卸载 umount -l 强制卸载 mount 查看具体的挂载参数 du -sh /etc/ 统计某个目录下文件有多大 ls -i 查看文件inode号 ls -di 查看目录的inode号 df -i 查看文件inode信息 创建一个大文件 dd if=/dev/zero of=/sdb5/test bs=10G count=1 软链接和硬链接 软连接就相当于快捷方式 两个文件的inode号不一样 软连接是指向文件名的 ln -s /a/source.txt /b/des.txt des就是source的软连接 修改任何一个,另一个都会更改 删除des对source没有影响,删除source, des也就没了 硬链接两个文件的inode号是一样的 硬链接指向的是inode号 ln /a/s.txt /b/d.txt 修改任何一个,另一个都会更改,删除一个对另一个没有影响 软连接可以跨分区 硬链接不可以 ip地址与子网划分 172.16.45.10(B类) ip地址包含两部分 网络地址:172.16.0.0 主机地址:172.16.45.10 ifconfig 查看网卡信息 配置网卡信息 ifconfig eth0 192.168.10.100 netmask 255.255.255.0 ip加上子网掩码 或者是ifconfig eth0 192.168.10.100/24 (以上仅是临时配置,重启后会被重置) service network restart 重启网络服务 永久配置网卡 vim /etc/sysconfig/network-scripts/ifcfg-eth0 BOOTPROTO 改为 static IPADDR=192.168.11.200 NETMASK=255.255.255.0 GATEWAY=192.168.11.1 DNS1=202.106.0.20 DNS2=8.8.8.8 service NetworkManager stop 关闭网络守护进程 service NetworkManager status 查看网络守护进程 chkconfig --list 查看服务启动级别 chkconfig --level 35 NetworkManager off 关闭在3和5级别下的服务 route -n 查看网关信息 cat /etc/resolv.conf 查看DNS信息 ping -c 1 192.168.11.11 ping一次 arping -I eth0 192.168.11.11 用来检测ip地址有没有冲突 ifconfig eth0 up 开启网卡 ifconfig eth0 down 关闭网卡 iptablesn -F 或者 service iptables stop 清空防火墙规则 hostname 查看主机名 hostname pzl 临时修改主机名 vim /etc/sysconfig/network 永久修改主机名 软件包管理 本地安装: rpm -ivh i安装 v是显示安装详细信息 h通常跟v连在一起写,能显示安装进度 可以同时装多个软件包 rpm -q 查询某个软件包 rpm -qa 查看所有的软件包 rpm -qa | grep '' rpm -ql 查看软件包装在哪些位置 rpm -qi 查看包的详细信息 rpm -e 删除软件包 rpm -ivh 软件包名 --force 强制安装,覆盖安装 rpm -e dhcp-common --nodeps 因为有个包正在使用所以无法删除 所以要忽略依赖性去删除 有的包有依赖关系,需要先装某个包才能装这个包 网络安装: rpm -ivh http://mirror.centos.org/centos-7/7/extras/x86_64/Packages/
python-boto-2.25.0-2.el7.centos.noarch.rpm 会自动安装 wget http地址 下载软件包 然后再rpm安装 yum安装 能够解决依赖性 首先配置本地yum vim /etc/yum.repos.d/local.repo
yum install dhcp 安装 yum -y install dhcp 自定义yum源 安装createrepo mkdir /test cp 软件包 /test createrepo /test 修改/etc/yum.repos.d/local.repo baseurl=file:///test yum -y install http* 模糊安装 yum erase dhcp 卸载软件包 yum clean all 清除yum缓存 yum makecache 制作缓存 网络yum源 vim /etc/yum.repos.d/net.repo [net] name=remot yum baseurl=
http://mirror.centos.org/centos-7/7/extras/x86_64/ enabled=1 gpgcheck=0 源码安装 解包-->运行configure脚本添加编译参数--->编译(gcc glibc)make---->make install 如果系统没有gcc glibc make 那么就需要先安装这个 yum install gcc-* glibc-* make -y tar xvf Python-3.6.5.tgz 解包 cd Python-3.6.5 ./configure --prefix=/usr/local/python3.5 指定安装路径 make make install 改python3的环境变量
上述方法只是临时修改 永久修改 vim /etc/profile 放在最后一行
yum grouplist 查看可安装的软件组 yum groupinstall '开发工具‘ 安装软件组 ssh服务 service sshd status 查看ssh服务状态 默认是开启的 vim /etc/ssh/sshd_config ssh服务的配置文件 ssh -t
root@192.168.1.11 -p 22 apache服务 1.准备环境 关闭防火墙: service iptables stop临时(chkconfig iptables off永久) 关闭selinux: setentforce 0临时(vim /etc/sysconfig/selinux SELINUX=disabled永久)) 配置ip 2.安装软件包--3.修改配置文件--4.重启服务--5.测试 yum install httpd -y vim /etc/httpd/conf/httpd.conf (记住这俩就行Listen, DocumentRoot) service httpd restart samba服务 yum install samba -y vim /etc/samba/smb.conf
service smb restart 得先关闭防火墙才能奏效 然后要建用户 useradd pangzl smbpasswd -a pangzl usermod -s /sbin/nologin pangzl 让他不能登系统
扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄








更多精彩