? ? ALT+shift+t 复制一个窗口 一、开关机相关: ? ? ?shutdown -h now 立刻关机 -h +1 1分钟后关机 init 0 关机? ? ? ?halt 停止系统,需人工关闭;poweroff 停系统且关闭电源 ? ? ?reboot 重启;shutdown -r now 立刻重启;-r +1 1分钟后重启;init 6重启; ? ? ?shutdown -h 20:00 ? shutdown -c 取消; ? ? logout注销 ? ? ?启动级别0-6 ?0关机;1单用户模式;2多用户模式;3文本模式 ;4未使用 ;5图形界面; 6重启 ? ? ?sysvinit 设置 systemctl set-default multi-user.target ? ? #3级别 ?? ? ? ? ? ? ? ? ? ? ? ? ? systemctl set-default graphical.target ? ? #5级别 ? ? ?runlevel查看级别 ? ? ?设置服务器来电自动开机---bios设置 ? int ?per 项目--superIO --restoe on--改为power on ? ? ?设置服务器自动开机 power man setup---wake up event set --resume by ?rtc alarm--enable ? ? ?然后设置日期v
二、文件查看相关命令等 ? ? ? cat ?tac反看 ? -n显示行号,-E显示换行符。nl aaa ?#nl是专门显示行号的 ? ? ? more aaa.txt ?#所有的读完退出来,不支持后退; less可以用pageup 和pagedown翻页 读完后按q退出? ? ? ? less -N 显示行号 ?q退出 ? ? ? ? ? ? head 默认只读前10行; head a.b -n3 读前三行 ? ? ? tail 默认只读后10行 ?tail a.b -n3 ;-f实时查看文件内容,动态显示; ? ? ? [root@xuegod63 ~]# tail -f /var/log/secure ? #在一个终端执行此命令动态查看文件内容 ? ? ? [root@xuegod63 ~]# tailf /var/log/secure ? #在一个终端执行此命令动态查看文件内容 ? ? ? ctrl+a 行首;ctrl+e 行尾;ctrl+u清除光标前;ctrl+k清除光标后 ? ? ? ctrl +d 退出中端 相当于exit ?ctrl +R 搜索历史命令 ? ? ? tty 查看中端; echo aaa > /dev/pts/1 ?不同的中端通讯 ? ? ? wall “shutdown”全部中端广播将被关机 ? ? ? > cpu.txt 清空一个文件 ? ? ? cat > a.txt << eof ?以eof开始,直到再次输入eof结束 ? ? ?错误重定向:ls /etc/passwd aaaa 2> ccc.txt ?通常会提示没有该文件使用了2>标准错误 ? ? ?输出,是将错误信息保存到ccc.txt中,也可以进项追加。? ? ? ?/dev/null 黑洞 ;zero ? ? ?df -h | tee file.txt ?类似于将输出文件存入到file.txt中 ?如果内容再追加,输入-a 三、查看相关信息等: ? ? ?id aaa 查看用户id;su - haohao 切换用户同时修改环境变量 ;su切只换角色,默认是root ? ? ?#表示root用户登陆 ? ?$表示普通用户 ? ? ?cat /etc/shells查看所有shell类型,可通过cat passwd查看使用哪个shell ? ? ?rpm -q centos-release ?cat /etc/centos-release 查看版本 ? ? ?rpm -q redhat-release ?cat /etc/redhat-release? ? ? ?uname -a 查看内核; uname -m 查看位数;uname -r 具体内核; ? ? ?hostname用户名;hostname abc.cn 临时修改用户名 ?vim /etc/hostname永久生效 ? ? ?df -h 查看硬盘 ?df -hi 查看inod ? ? ls /dev/sd* ?查看所有连接的硬盘 ? ? ?du -sh /etc 查看文件大小 ? ? ?which ls ;whereis ls所在的位置,脚本路径,查看位置及相关文件;whatis ls;man ls ; ? ? ?man cd ? ? pinfo cd ? ? ?ls --help 类似于网络中的?help cd ? ?或者-h ? ? ?pstree -p | grep http? ? ? ?hwclock查看bios时间 ? ?date -d '+1months'+%F ?加一个月显示 date -d '+1day' 加一天显示 ? ? ?date +%F ? ? ?date 显示时间 ;date -s 设置系统日期时间; date -s "2020-10-01 16:00:00" ? ? ?vim /etc/chrony.conf ?修改系统同步时间,按照如下操作 ? ? #pool 2.centos.pool.ntp.org iburst ? ? ? ? ?修改为 ?server ntp.aliyun.com iburst? ? ? ?然后再:systemctl restart chronyd
? ? ?time测试一个命令运行的时间 time ls -l /etc/ ?#real实际使用时间 user用户使用 sys内核使用 ? ? ?cal日历 ; cal 2020 ; ?cal -n7 ; -w第几周;-j 显示当年的第几天 ? ? ?dmidecode 可以采集有关硬件方便的所有信息 ? ? ?bin 存放二进制命令; sbin存放级别高的命令;dev存放设备文件;/boot存放内核启动; ? ? ?etc存放配置文件;home用户家目录;lib库文件;mnt,media临时一般挂载存储设备 ? ? ?opt可选 ?; proc系统内存的映射,查看硬件信息等;sys存放硬件文件;run 存放系统运行时的数据 ? ? ?srv 服务目录一般是空的;tmp存放临时文件;var系统日志等;usr自己安装的库文件; ? ? ?lib lib64 一般是库文件,都在usr目录下 ? ? ?tail -n3 /var/log/secure 查看谁登陆了我的电脑
四、文档显示相关信息等: ? ? ?cd . 进入自己的目录; ?cd .. 返回上级目录; cd或者 cd ~ 进入家目录; cd - 回退;./当前目录 ? ? ?快速查找命令:1、上下光标;2、ctrl+r ?然后输入命令关键字 然后找到对应命令 再然后按 ? ? ?右光标键;3、!数字 ? 4、!字符串,会匹配最近一次 ? ? cd直接切回家目录 ? ? ?ls -a所有文件;ls -l文件详细信息;ls -d当前目录信息;ls . 当前目录内容; ls .. 上级目录 ? ? ?-S 文件大小排序,默认从大到小排序 ls -lS /root/ ? ?-r 是文件名从小到大排序 ls -lSr ? ? ?-t是表示时间 ls -ltr 表示时间从小到大,默认从大到小; ? ? ?.bash ?点表示隐藏文件 ?可以重命名+. 即可改为隐藏文件 ? ? ?ls -ld /bin ?查看软连接 ? ? ?ls -li 或者ls -i 看文件inod ;df -hi 看磁盘inod百分比; ? ? ?history -c 全部清空 ; history -d 100; ?-w 保存命令到历史文件中,一般是家.bash_history ? ? ?!1065 调用1065的命令; ?!-2 调用上上一个命令; ?!!调用上一个命令; ?!c 模糊匹配? ? ? ?ESC . 同时按,调用上个命令后面的内容--或者用!$ ? ? ?修改历史命令 cat ~/.bash_history ? ? source /root/.bashrc ?或者 . /root/.bashrc ?修改别名后 执行一般,等于刷新一下 ? ? vim /root/frofile 修改别名对所有用户都有效? ? ? iptables -F 清空防火墙 ? ? ping -c 4 baidu.com ?ping百度4次 ? ? ctrl + d 退出,类似于exit
五、进程管理相关: ? ? ?ps -aux 全部进程 ?a终端下所有进程,u详细内容信息,x显示非终端(系统)下所有进程 ? ? ?进程下加方括号是内核态的进程,没有括号是用户态进程 ? ? ?VSZ进程占用的虚拟内存;RSS进程占用的物理内存;START进程被触发的时间;TIME使用cpu时间 ? ? ?COMMAND该命令的实际指令?? ? ? ? ?STAT目前的状态,分为五种:R正在运行;S睡眠中;T正在侦测或者停止; Z僵尸;D不可中断 ? ? ?五个基本状态后可加字母:<运行在高优先级;N低优先级;L锁定在内存中;l多线程;+进程运行在前台 ? ?? ? ? ?jobs 除了系统进程 ?; free -m 以兆为单位查看; ? ? ?僵尸进程:父进程退出了,子进程没有退出,那么子进程就没有人管理了,就是僵尸进程 ? ? ?僵尸进程一般是重启 几个没有关系,几百个需要重启。 ? ? ?ps -ef 跟aux差不多-e显示所有进程;-f显示完整格式输出 ?? ? ? ?uptime查看cpu负载的工具:第一个是当前时间;up 20days 系统运行时间20天;2user登陆用户数; ? ? ?load....系统负载,及任务队列平均长度,三个平均值分别为1分钟,5分钟,15分钟前到现在的平局值 ? ? ?如果cpu为1核 ,1分钟的load值大约等于3则负载过高,如果4核,大约等于12则过高。这个是经验值 ? ? ?top:第一行和uptime显示内容一样; ? ? ?第二行:us是用户使用,sy系统使用,ni调优;id空闲;wa是等候占比,如果占用比较大,是磁盘性能有问题; ? ? ?下列行:PR优先级 ;VIRT虚拟内存;RES实际使用内存;SHR共享内存;S状态 ? ? ?top 注意僵死和停止两个统计: ? ? ?top快捷键 默认3s刷新一次;按空格立即刷新;q退出;按数字键1显示几个cpu;u查看某个用户:输入mk ? ? ?T按时间排序;top -p 9667 查看某个进程的动态信息; ? ? ?P – 以 CPU 占用率大小的顺序排列进程列表 ? ? ?M – 以内存占用率大小的顺序排列进程列表 ? ? ?N – 以 PID 的大小的顺序排列表示进程列表 ? ? ?s – 改变画面更新频率 ? ? ?l – 关闭或开启第一部分第一行 top 信息的表示 ? ? ?t – 关闭或开启第一部分第二行 Tasks 和第三行 Cpus 信息的表示 ? ? ?m – 关闭或开启第一部分第四行 Mem 和 第五行 Swap 信息的表示 ? ? ?h – 显示帮助;n – 设置在进程列表所显示进程的数量 ? ? ?q – 退出 top;s – 改变画面更新周期 ? ? ?kill -l 显示相关信号; 3退出;TERM15终止;9强制退出(用的最多);CONT18继续;STOP19暂停 ? ? ?kill 970; ?kill -q 970 强制结束进程; ?kill -count 970 暂停进程 ? ? ?killall ?pkill 加进程名字 ? 用于杀死指定名字的进程 ? ? ?renice -10 26154 改变正在运行的优先级 ? ? ?screen(必会)例如:xshell长时间连接后会中端,导致备份中断等(未工作完回家接着操作); ? ? ?yum安装screen,使用方法参照截图 ? ? ?lsof -p 43607(进程号)帮你查看这个进程都干了啥事,主要看木马程序 ? ? ?lsof -i:22 ?用于查看端口,或者查看黑客开启后门端口是哪个进程在使用 ? ? ?pstree 加-p 显示带进程号的树形结构 ? ? ?jobs 查看 ? fg 1(进程号)从后台调到前台,恢复挂起的; ? ? ?yum install sysstat 安装sar ? ? ?sar 全面系统分析工具之一 ? ? ?sar -u -o 5 3 每5s采用一次,连续3次,观察CPU使用情况; ? ? ?sar -u -o monitor.cpu 5 3 结果存放到monitor.cpu中 ? ? ?sar -u -f ?monitor.cpu 查看内容 ? ? ?sar -r 5 3 监控内存和交换空间; ? ? ?&&前一个命令执行完,执行后一个命令;||前一个执行失败,执行后一个;’不具有变量功能 ? ? ?”具有变量功能 ? ? ?ll /proc/进程ID/fd ?查看一个进程打开了那些文件?先的内容 0 1 2 一般都会显示 ? ? ?ulimit -n 查看一个进程可以最多打开的文件数;ulimit -n 2048修改最多可以打开的数量, ? ? ?默认是1024; ulimit -a 显示所有的信息; ? ? ?清理云服务器Linux下内存buff/cache占用过多问题解决: ? ? ?通常内存关系是:普通机器:total=used+free虚拟机器:total=used+free+buff/cache ? ? ?比如说用腾讯云主机,就是total=used+free+buff/cache;执行如下语句: ? ? ?在执行这三条命令之前一定要先执行sync命令 ? ? ?sync && echo 1 > /proc/sys/vm/drop_caches;echo 2 > /proc/sys/vm/drop_caches; ? ? ?echo 3 > /proc/sys/vm/drop_caches
六、权限和用户管理相关设置: ? ? ? root超级用户 ID=0;系统用户 ID=1-999 ,1-499centos6版本;本地用户1000以上 ? ? ? group存放组信息; shadow存放密码 ? ? ? useradd /groupadd 添加用户及组 ?-m创建用户家目录(默认);-u指定UID;-g指定GID基本组; ? ? ? -G指定附加组;-s默认用户登陆shell的路径 ;-d指定家目录位置;-M不创建家目录; ? ? ? passwd/gpasswd ?-l锁定;-u解锁;-d删除密码;-n密码最少天;-x密码最多天 ? ? ? userdel/groupdel -r删除用户的时候同时删除家目录; ? ? ? usermod/groupmod 修改用户/组 -u修改uid;-g修改gid;-aG追加新的附加组;-s修改bash ? ? ? -m修改家目录;-c修改注释;-e指定过期时间;-L锁定账号,类似于禁用;-U解锁账号 ? ? ? chown 修改所属用户和组 chown root:root aaa ; chown root:aaa ;chown :root aaa ; ? ? ? chgrp root aaa 修改所属组 ? ? ?-R 递归修改(目录下所有内容都修改,否则只修改目录) ? ? ? 注意:文件的拥有者一定可以写入文件; ? ? ? chmod 修改权限 chmod rw-r--rwx aaa ? ? ? chmod u=r-- aaa ; chmod g=r-- aaa ;chmod o=r-- aaa ;a+x 所有人 ? ? ? chmod g-w aaa;chmod g+w aaa; chmod 777 aaa ? ? ? 特殊权限:suid ;sgid; sticky和文件扩展acl ? ? ? suid:u+s或者u=4 ?chmod u+s /usr/bin/less 或者chmod 4755 /usr/bin/less只针对二进制 ? ? ? 可执行权限,对目录无效。瞬间提升一下具有root权限 例子:passwd修改密码时; ? ? ? sgid:g+s或者g=2;可以给二进制程序设置,也可以针对目录 ? ? ? 新创建的文件会继承上级目录的权限; ?sgid的权限显示就是大S ?;有x的时候是小写的s ? ? ? stickybit:o+t 或者o=1;只用作目录,目录下创建的文件只有root,目录所有者才能删除; ? ? ? 扩展acl:查看getfacl /tmp/a.txt权限 ?前提是不改变文件权限的前提下。增加了扩展权限后面有+号 ? ? ? setgacl aaa查看 ? ? ? setfacl -m u:zhang:rw,u:hao:--x aaa #针对不同用户设置文件访问权限 ? ? ? ? setfacl -m d:u:zhang:rw,d:u:hao:--x AAA #针对不同用户设置目录访问权限 -R 给目录下所有文件, ? ? ? 一定要在m前加; ? ? ? setfacl -x ?u:zhang:rw aaa去掉权限 ?setfacl -b ?u:zhang:rw aaa ?b是取消所有权限 ? ? ? setfacl -b ? aaa ?b是取消所有权限 ? ? ? s位 是普通用户用来继承root权限 chmod u+s /bin/rm ?注意小s和大S区别,大S是当s位上没有小写x时 ? ? ? chmod g+s /home/admins ?组成员继承 ?sgid位 ? ? ? chmod o+t glabfile ?粘滞位权限字符t/T 类似于共享 ? ? ? chattr +i aaa.sh 设置扩展属性;系统对他不能做任何修改 ?+a只能追加内容>> ;+i不能被修改 ? ? ? chattr -i aaa.sh 去掉属性 ? ? ?lsattr aaa.sh查看文件系统扩展属性、lsattr -d 查看目录 ? ? ?? 七、yum及rpm相关配置:? ? ? ? 在安装更新时用全名,查包、卸载包是用软件包名,默认在/var/lib/rpm目录下查询包的信息 ? ? ? /etc/yum.repos.d ? ? yum 源位置 ? ? ? rpm ;rpm -q zip 查找相关的软件是否已经安装(-q与其他匹配使用) ? ? ? -a查询所有已安装包;-aq系统中安装的所有程序; ? ? ? rpm -qf /usr/bin/find ?-f是查看find命令是由哪个安装包安装的; ? ? ? rpm -ivh http 安装程序;rpm -e http 删除安装软件--nodeps 忽略依赖包关系;建议用yum卸载 ? ? ? rpm -ivh /mnt/Packages/zsh...... ? ? ? rpm -Uvh 升级软件包,有老版本则升级否则安装;-Fvh 有老版则升级否则退出; ? ? ? rpm -V 检验安装的文件是否被修改,用于检验命令有没有被黑客修改;rpm -Vf /usr/bin/find ? ? ? rpm -Va 查看系统中所有安装包及文件是否被修改 ;rpm -Va > rpm_check.txt 重定向过去 ? ? ? -K验证合法性和完整性 ? ? ? rpm -qf /usr/bin/pstree ? 查看安装的包 ? ? ? rpm -ivh --nodeps #忽略依赖包关系;--replacepkgs重新安装替换; ? ? ? ? ? ? ? ? ? ? --force强行安装可实现降级或重装; ? ? ? rpm -qpi +rpm包 说明包的信息或者作用;已安装的用-qi即可;未安装的用-pqi查询; ? ? ? rpm -qpl +rpm包 文件列表 ? ? ? rpm --rebuilddb 重建数据库;--initdb 初始化数据库 ? ? ? rpm -qf `which vim` ?把which vim 输出的结果查询 ? ? ? yum clean all 清除缓存? ? ? ? yum repolist 下载软件表单 ? ? ? yum list 查看软件仓库(未安装) ? ? ? yum list | grep zip ? ? ? yum install zip -y ? ? ? yum -y remove zip.x86_64 ? 删除已安装的 ? ? ? yum list installed | grep zsh ? 查看已经安装的软件 ? ? ? yum list updates ? 列举出可升级的软件 ? ? ? yum update zip.X86.64 ? 升级软件包 ? ? ? yum provides /usr/bin/find 查看命令是哪个软件包安装的 ? ? ? yum search keyword 按关键字搜索软件包 ? ? ? yum -y upgrade ? 升级所有包,不改变软件设置和系统设置,系统版本升级,内核不改变 ? ? ? yum -y update ? ?升级所有包,改变软件设置和系统设置,系统版本内核都升级 ? ? ? yum install --downloadonly --downloaddir=/tmp/pages zsh ?下载安装到到指定位置 ? ? ? wget -O /etc/yum.repos.d/CentOS-Base.repo http://www.aliyun.com ? ? ? 下载文件,-O把下载的文件存到另一个文件中 ? ? ? wget http://test.com/testfile.zip ->下载指定文件到当前文件夹 ? ? ? wget -O wordpress.zip http://test.com/download ->指定保存名字 ? ? ? wget --limit-rate=300k http://www.linuxde.net/testfile.zip ->限制下载速度 ? ? ? wget -c http://www.linuxde.net/testfile.zip ->断点续传 ? ? ? wget -b http://www.linuxde.net/testfile.zip ->后台下载 ? ? ? vim /etc/yum.repord/CentOS-Base.repo找到如下: ? ? ? ?baseurl=http://mirrors.aliyun.com/centos/$releasever/os/$basearch/ ? ? ? ?$releasever等于系统版本 ?;$basearch/等于x86_64 ? ? ? ?如果下载下来的repo不能用,打开阿里云http://mirrors.aliyun.com/centos/查看最新版本 ? ? ? ?然后进行替换sed -i 's/$releasever/7.4.1708/g' /etc/yum.repo.d/CentOS-Base.repo ? ? ? ?yum clean all ? yum list ? ? ? ?yum grouplist 查看有哪些软件包组; yum groupinstall "开发工具" -y ? ? ? ?源码编译安装3把斧:(lamp和lnmp时会用到)----也就是软件安装 ?tar.gz格式文件? ? ? ? ?1、#tar xvf nginx-1.12 ? #cd nginx-1.12 ?? ? ? ? ? ? ? #./configure ?--prefix=/usr/local/nginx指定安装路径,为了删除时方便 ? autoreconf先集成 ? ? ? ? ? (make clean执行错误时,需要执行清理) ? ? ? ?2、make -j 4 四核编译 ? ? ?make tests 或者test ? ?echo $?如果返回为0就没有问题 ? ? ? ?3、 然后进行make install ? ? ? ?源码编译出错的5种完美解决办法: ? ? ? ?1、./configure 编译时报错 某某extsfs...找不到 ? ? ? ?招一、cd /mnt/Packages/ ? ? ? ?招二、rpm -ivh extsfs 按tab自动补齐,然后进行rpm -ivh 安装缺少的包 ? ? ? ?招三、但如果无法补齐,使用如下招 ? ? ? ? ? ? ? ? ?2.2、然后再查ls *sfs* 如果能查到,然后进行rpm -ivh 安装缺少的包 ? ? ? ?招四、http://www.rpmseek.com/index.html 上查找缺少的包 ? ? ? ?招五、yum search extsfs ?(推荐) 查询具体包的名字,然后进行rpm -ivh 安装缺少的包 ? ? ? ? ? ? ? ? 如果提示已经安装了,./configure时还是有问题,这种情况需要安装库的开发文件 ? ? ? ? ? ? ? ? rpm -ivh /mnt/Packages/e2fsprogs-devel-1.41.。。。。.rpm ? ? ? ? ? ? ? ? 然后再进行编译 ? ? ? ?如果你下载到的软件名是soft.bin,一般情况下是个可执行文件,安装方法如下: ? ? ? ?1、打开一个终端,su -成root用户;2、chmod +x soft.bin;3、./soft.bin //运行这个命令
八、文件复制移动等 ? ? ? rm -rf ?-r包含的目录一起删除,即为递归删除; -f强制删除;-i提示 ? ? ? rmdir 删除目录 ? ? ? cp ab .. 复制到上级目录 -f强制 -R递归复制目录;-p 复制文件保留属性(普通不保留管理员属性) ? ? ? cp a b CCC ? 复制 a b 到文件夹CCC ? ?-a 保留所有的属性(归档复制,用于备份) ? ? ? cp www /root/etc/pppp 复制的同时修改名字,剪切也一样。 ? ? ? cp abc ccc -r ?把abc目录复制到ccc目录 ?-f强制复制 ? ? ? install aaa aaaa 复制的aaaa具有可执行权限; ? ? ? mv aaa bbb ?重命名 ?mv aaa bbb CCC 移动 -f 强制剪切
九、其他配置列 ? ? ? alias 设置别名 alias cls=clear 临时有效 ?unalias去除别名 ? ? ? vim /root/.bashrc ? ?source /root/.bashrc ? 设置当前用户别名永久有效 ? ? ? 例子:alias vimens160="vim /etc/sysconfig/network-scripts/ifcfg-ens160" ? ? ? vim /etc/bashrc ?然后再文件最后插入 ? ?#全局使用配置的别名 ? ? ? locale 查看现有语言环境 -a 所有语言环境 ? ? ? ? export 修改临时语言环境 export LANG=zh_US.UTF-8? ? ? ? type 判断是否为内置命令,非内置需要自己安装 ? ? ? file aaa 判断文件格式类型 ? ? ? stat aaa 最近一次访问,修改,改变 ?atime mtime ctime 三个时间;
十、文件创建管理配置等 ? ? ? touch 创建文件 -c文件不存在不创建 -a改访问时间;-t直接使用指定时间 -d指定创建时间 ? ? ? touch {1,2} {q,b} ?c创建 1 2 q b; ? touch {1,2}{q,b} 排列组合创建 ? ? ? touch file{1,2,....20} ?创建为file1file2.。。。。。。 ? ? ? mkdir 1 2 3 -p 连续创建 ; ?rmdir 1 2 3 -p连续删除 ? ? ? mkdir -p /glab/aaa ?分别创建(递归创建) ? mkdir /glab/ /galb/aaa ? ? ? install abc -d创建目录 -t指定目标,在指定源 ?-m 复制文件的时候指定权限 ? ? ? echo jiajiakang | passwd haohao --stdin ? ? ? echo 输入到屏幕 >清空 ?>>追加 ? echo www.baidu.com >a ? ? ? echo aaa>aaa.txt ?echo aaaaa>>aaa.txt ? ? ? printf "www\n" 输出换行 printf "%s\n" 1 2 3 4 ? ? ? nano a创建文件的方法 ?输入内容 ctrl+o 回车 ?ctrl+x
十一、文件处理相关命令 ? ? ? cut -d: -f1-3 /etc/passwd -d指定分隔符? ? ? ? sort -n数值大小排序,默认就是-n的,从小到大; -r逆向排序,从大到小 -t指定字段分隔符 ; ? ? ? ? -k指定从哪个字段 ;-u去重复显示一次 -f忽略大小写;-M按照月份排序(内容月份); ? ? ? du -h /etc | sort -rh | more 找出etc目录下的所有文件,按从大到小排序; ? ? ? wc -l 文本统计 -l统计行号 -w统计单词 -c字节 -m字符 ? ? ? tr 文本转换 tr 'a-z' 'A-Z' < /etc/passwd ?把小写转化为大写 ?-d 删除出现的字符 ? ? ? cat /etc/passwd | tr -d "ato" ? 把ato删除 cat file | tr -d "snail" 删除出现字符集中的所有字符 ? ? ? cut -d: -f7 /etc/passwd | sort -u | wc -l ?显示5行 ? ? ? cut -d: -f1-3 /etc/passwd | sort -t: -k3 -n ?第三列数值排序 ? ? ? find 查找-typel类型 ?f是普通文件 ;d是目录, l是链接,p是管道文件, ? ? ? -name 文件名, -iname 忽略大小写;-type 指定文件格式 ? ? ? find / -type f -name test123 ? f是文件 d是目录 ? ? ? find -user属主-group属组 -nouser -nogroup ; ? 例子:find /root/ -user root ? ? ? find /root -size -20K 查找小于20k的;; ? ? ? find /root -cmin +10 距离现在超10分钟;-ctime以天为单位 -cmin以分钟为单位 ? ? ? -mtime -n 表示距离现在n天;+n 表示在n天以前 ? atime是访问时间 ? ? ? find /root -user root -a -size +20k ; -a与 -o或 -not非 ?+超过 ? ? ? find /root -user root -exec cp {} /mnt \; ? -exec执行动作 ?-exec chmod g+w {} \; ? ? ? xargs -i ? ?find . -name aaa | xargs -i cp {} /opt ? ? ? -perm 按照权限;find /bin/ -perm -644 ?至少有644的权限 ? ? ? find /bin/ -maxdepth 1 -prem 777 ?只查第一层的 ? ? ? ;连续执行,不保障都执行成功 ? ?&&前面执行成功在执行后面? ? ? ? ||前面执行成功后面不执行,后者前面执行不成功执行后面 ? ? ? tar 压缩 ?-c重新创建源文件不动 ?-z 压缩格式 ?-v压缩过程 -f压缩文件 可压缩多个文件 ? ? ? ?-z gzip,扩展名tar.gz; -j bzip2,扩展名tar.bz2; ?-J xz压缩,扩展名tar.xz ?; 解压时要对应参数; ? ? ? tar -Jxf aaa.tar.xz -C /mnt ?## -C 是解压到指定目录 ? ? ? tar zcvf ?yasuo123 ?wwwbbb ? ? ? tar tf yasuo123 ?不解压直接看文件内容 ?tar xf yasuo123 直接解压出来 ? ? ? xz 原文件 #默认删除原文件,只保留压缩文件; ?-k保留原文件 ? ? ? unxz 压缩文件 #删除压缩,保留原文件; xzcat 不解压直接查看文件内容 ? ? ? 其他压缩工具gzip ?bzip2 ? 加参数-d 是解压缩 ? ? ? join bbb ccc ccc往bbb中合并输入 ? ? ? ln aaa aaa_ylj 创建硬链接 主要作用,对重要文件开后门,进行保护,怕误删。 ? ? ? ln -s aaa aaa_s 创建软连接 ,类似于快捷方式。 ? ? ? ls -l 结果的第三列就是硬连接数 ? ?? 十二、分区格式化相关: ? ? ? ls /dev/sda* ? ? ? lsof /sdb1查看谁在用 ? ? ? 1、fdisk /dev/sdb ?格式化磁盘,p 查看当期那分区表;n 创建新的分区;p创建主分区; ? ? ? +1G指定分区大小; w保存;m帮助 ;d删除分区;l显示分区类型;q不保存退出;t改变分区类型; ? ? ? 让新的分区生效,直接reboot? ? ? ? 2、mkfs.xfs -f ?/dev/sdb1 格式化分区,-f是强制格式化 ?mkfs.ext4 /dev/sdb1 ? ? ? 3、mkdir /sdb1 创建挂载点 ? ? ? 4、mount ?/dev/sdb1 /sdb1/挂载? ? ? ? 5、vim /etc/fstab ?开机自动挂载,再文档最后添加如下内容 ? ? ? ? ? ?/dev/adb1 ? ? /sdb1 ? ?xfs ? defaults ? ?0 ?0? ? ? ? ? ? ?/dev/vdb1 ? ? /vdb1 ? ?xfs ? defaults ? ?0 ?0? ? ? ? ? ? 检测挂载是否成功 ? mount -a ?然后再df -h中看到sdb1说明成功
/dev/vdb1 ? ? /vdb1 ? ?xfs ? defaults ? ?0 ?0? ? blkid /dev/sdb1 查看里面有文件系统即可,格式成功
? ? ? 卸载问题:umount ?/dev/sdb1 报错---#loft /sdb1 ?# kill -9 bash对应的id ? ? ? gdisk主要是容量大于2T的硬盘,两种类型的分区表:GPT和MBR(不支持4T); ? ? ? GPT分区:全球唯一表示分区,默认128个分区 ? ? ? ? mount /dev/cdrom /abc挂在到abc目录下 umount /abc卸载 ? ? ? vim /etc/fstab ?开机自动挂载,再文档最后添加如下内容 ? ? ? /dev/cdrom ? ? /mnt ? iso9660 ?defaults ?0 0 ? ? ? 检查挂载 mount -a ?; ls ?/mnt/ 可以查看到内容说明成功 ? ? ? ? umount ?/mnt/ 卸载挂载 ? ? ? df -hT 查看挂载分区类型 ? ? ? [root@xuegod63 ~]# blkid /dev/sdb1 ?#查看分区信息? ? ? ? xfs 是centos7新特性 提供了xfsdump和xfsrestore来备份和恢复数据; ? ? ? 备份:1、xfsdump -f /opt/dump_sdb1(备份到的位置) ?/sdb1(要部分的文件,备份只能精确到备份的根) ; ? ? ? ? ? ? ? ? ? 2、然后输入标签位置-》dump_sdb1(还原时使用) ?备份sdb1 ? ? ? ? ? ? ?指定备份时交互,方便后期做定时备份,类似于快照,快速回复。 ? ? ? ? ? ? ?-s 加相对路径(备份文件夹,不能加绝对路径) -L dump.sdb1 -M sdb1 免交互 ? ? ? ? ? ? ?xfsdump -f /opt/dump_passwd ?/sdb1 -L dump_passwd(标签)-M sdb1(对设备备份的说明) ? ? ? ? ? ? ?-s只对指定的文件备份,备份填写相对路径? ? ? ? ? ? ? ?xfsdump -f /opt/dump_grup2 -s ?grub2/grub2/aaa.cfg(填写相对路径) ?/boot(对该分区) -L? ? ? ? ? ? ? 上接。。dump_grub2(标签)-M boot-sdb1(对设备备份的说明) ? ? ? ? ? ? 备份成功后 ls /var/lib/xfsdump/inventory/目录下查看生成的档案信息。 ? ? ? ? ? ? xfsdump -I 查看备份信息 xfsrestore -f /opt/test-back2 -t 查看里面的内容 ? ? ? ? ? ? 恢复:xfsrestore -f /opt/dump_sdb1(备份的文件) /sdb1(备份到的位置) ? ? ? ? ? ? 恢复单个文件xfsrestore -f /opt/dump_grub2 -s grub2/grub.cfg(对目录下文件或目录) /var/test ? ? ? ?增量备份:1先做完全备份xfsdump -f /opt/test-full /sdb1 -L test-full -M dedia0 ? ? ? ? ?2、增加内容,如下再做第一次增量备份 ? ? ? ? ?3、xfsdump -l 1(第一次) -f /opt/test-back1 ?/sdb1 -L ?test-back1 -M media0 ? ? ? ? ?4、xfsdump -l 2(第2次) -f /opt/test-back2 ?/sdb1 -L ?test-back1 -M media0 ? ? ? ?增量备份恢复:1、先恢复完全备份;2、然后恢复1级别,再2级别 ?(如果同级别,恢复最后一个即可) ? ? ? ?xfsrestore -f /opt/test-full /sdb1/ 恢复完全备份 ? ? ? ?xfsrestore -f /opt/test-back1 /sdb1/ ?恢复1级别 ? ? ? ?xfsrestore -f /opt/test-back2 /sdb1/ ? 恢复2级别 ? 十三、网络相关信息及配置: ? ? ? ens33 ? en表示ethernet以太网,nnn数字表示mac地址+主板信息计算得出 ? ? ? s表示如拔插网卡,usb之类的;o主板板载网卡;p独立PCI网卡 ? ? ? ifconfig ens33 网卡地址 netmask 掩码 ? ?## 临时修改ip地址 ?掩码可加可以不加 ? ? ? ifconfig ens33:0--1--2等 ? 配置多个ip地址 ? ? ? ifconfig ens33:0 del ip地址 ? ? ? NetworkManger 网络服务管理进程 ? ? ? /etc/sysconfig/network-scripts/ifcfg-对应网卡 ? /etc/resolv.conf DNS配置 ? ? ? /etc/hosts 主机名和ip绑定信息 [root@xuegod63 ~]# ifconfig ens33:0 192.168.1.111 netmask 255.255.255.0 [root@xuegod63 ~]# ip addr show ?#查看IP地址 [root@xuegod63 ~]# ip a #查看IP地址 [root@xuegod63 ~]# ip addr delete 192.168.1.110 dev ens33:0 #删除临时IP [root@xuegod63 ~]# ip a d 192.168.1.110 dev ens33:0 #删除临时IP ?ifdown ens160 && ifup ens160 ? ?centos8来让网卡配置文件生效 [root@xuegod63 sysconfig]# cat /etc/resolv.conf?? ?#查看本机DNS的地址 情况2:在centos8系统上 [root@xuegod63 ~]# nmcli connection reload ? ?#重新加载网卡相关配置文件 [root@xuegod63 ~]# nmcli c reload ? ? ? ? ? ? ?#重新加载网卡相关配置文件 [root@xuegod63 ~]# nmcli connection down ens160 && nmcli connection up ens160 #重启网卡,让配置生效。 ? ? ? nmtui 中文配置网卡界面 nmcli 显示网卡信息 ? ? ? nmcli connection 查看网卡连接信息 ? ? ? nslookup www.baidu.com 查看域名对应的u、ip地址 ? ? ? ONBOOT=yes ?开机启动,需改ifcfg-ens33 ? ? ? 1、yum install cockpit* 安装网络管理软件安装管理工具 ? ? ? 2、开启systemctl enable -now cockpit ? ? ? ? 3、https://192.168.1.30:9090 ? ? ? 版本六 重启关闭网卡:service network restart ? ? ? netstat -antup | grep 10050 ?; ?netstat -tlunp ?都是查看打开的端口
十四、防火墙的相关操作: ? ? ?systemctl start firewalld ?systemctl enable firewalld ? systemctl restart firewalld ? ? ?systemctl stop firewalld ?systemctl disable firewalld ? systemctl status firewalld? ? ? [root@xuegod63 ~]# systemctl is-enabled firewalld?? ?#查看开机是否启动 ? ? ?vi /etc/services查看端口对应的服务信息 /21 /80 查找 ? ? ?firewall-cmd --list-all ?查看防火墙放行端口 ?ports ? ? ?firewall-cmd --add-service=http --permanent(永久添加) ? ? ?firewall-cmd --add-port=80/tcp --permanent(永久添加) ? ? ?systemctl suspend 暂停系统;systemctl rescue 救援模式; ? ? ?getenforce 查看Selinux开机是否启动 ?setenforce 0 临时关闭 ? ? /etc/selinux/config ?永久关闭 在第七行,selinux=disabled ?然后需要reboot重启 了解下面命令: [root@xuegod63 ~]# systemctl #列出当前已启动unit(单元),按q或ctrl+c退出 [root@xuegod63 ~]# systemctl list-units ?#列出当前已启动unit(单元),按q退出 [root@xuegod63 ~]# systemctl list-units ?-all ?#列出全部unit(单元) [root@xuegod63 ~]# systemctl list-units ?--type service #列出类型为.service(服务)的已经启动unit(单元)。 [root@xuegod63 ~]# systemctl list-unit-files ? #列出全部unit及相关文件 [root@xuegod63 ~]# systemctl list-unit-files --type service ?| grep enabled #查看开机启的服务 [root@xuegod63 ~]# systemctl ?is-enabled ?sshd #查看ssh服务是否开机启动
十五、vim 文本编辑器 ? ? ? yy复制p粘贴 ?2yy复制两行;dd删除或者剪切的意思;x向后删除一个字符;D从光标删除到行尾; ? ? ? r替换;home到行首;end到行尾;:x保存退出 ? ? ? set number 列出行号;set nonu去掉行号;noh临时高亮显示 ? ? ? :20快速定位到行号;G定位到末行;gg定位到首行;u撤回;/abc 查找;取消用:noh ? ? ? n不断线下找; N向上查找 ? ? ? :% s/lang/abc/gi ?%为所有的替换lang为abc g为全部替换 i为忽略大小写;? ? ? ? :1,3 s/bin/xuegad 只替换第一行到第三行第一个出现的 ? ? ? :3 s/xue/gad 只替换第三行 ? ? ? 先按30再按G 快速点位到30行;到右边第10个字符,先按10再按向右键; ? ? ? O 在上方增加一行;o在下方插入一行;i在当前字符之前插入;I 再行首插入;A再行尾插入 ? ? ? x向后删除 类似于delete;X向前删除 ?r替换一个字符(非编辑模式) ? ? ? hjkl左下上右 方向键? ? ? ? 1、ctrl+v 进入视图模式;2、向上向下移动光标,选中注释部分;3、然后按大写I; ? ? ? 4、在插入注释符号;5、再按esc ? ; ?删除 ?先选中,然后d ? ? ? 另存为 w man.abc ? vim +3 bbb ?定位到第3行进行编辑;只写+ 号是到最后一行; ? ? ? 调用外部文件或者命令::!ifconfig ens33 ; ?r /etc/hosts读文件,把其他文件中的内容追加到当前目录中 ? ? ? vim .viminfo 记录vim操作在家目录中? ? ? ? 1、vim /home/.vimrc ? ? ?2、se nu ?只针对当前账号生效 ?打开默认显示行号;vim /etc/.vimrc 全局有效 ? ? ? vim -o /etc/passwd /etc/hosts ?同时打开多个文件,以上下形式 ? ? ? vim -O /etc/passwd /etc/hosts ?同时打开多个文件,以左右形式 crtl+ww左右两个切换 ? ? ? :qa! 同时退出两个打开的内容 ? ? ? 方法一:diff /etc/passwd /etc/hosts 对比不同的;方法二:vimdiff /etc/passwd /etc/hosts 对比不同的 ? ? ? gedit ?nano ?emacs 编辑器
十六:网络三剑客--正则表达式 grep awk sed ? ? ? grep a bbb 显示bbb带有a的行 ? ? ? grep .* bbb 表示任意,全部显示 ?.表示任意字符 ? .*匹配所有字符 ? ? ? grep ^a$ bbb ?已a开始以a结束 显示空行 ? ? ? grep ^a 以a开头 按行显示 ? ? ? grep [ab] bbb 有a或b的显示? ? ? ? grep [^ab] bbb 非a和b的显示 ? ? ? grep “\.com” bbb \转义字符 以.com 结尾 ? ? ? grep "a\{2,3}" bbb -E ?把a 重复2到3次 以行输出 加-o显示匹配的字符 ? ? ? grep 6 bbb -A2 显示带有6的行和后面2行 -B 2前面2行 -C 前后两行 ? ? ? -i忽略大小写;-E 使用扩展的正则表达式;-n 显示行号;-o只显示匹配的; -v 取反 ? ? ? -A num 显示匹配的和后num行;-B显示匹配和前num行;-C num显示匹配和前后的 ? ? ? grep -v “^$” bbb 显示非空行 ? ? ? grep "." bbb 表示任意字符 显示整行。 ? ? ? grep "\.$" bbb 把.转义为.输出行 以.结尾 ?“\.” bbb ? ? ? ? grep ".*" bbb 整行输出包括空行 *重复0次 ? ? ? grep "[a-b]" bbb -n a到b所有字符,显示行号? ? ? ? grep “[^a-z]” bbb -n -i ?非a-z同时忽略大小写 ? ? ? grep “a*” a重复0次 所有都输出 ? ? ? grep “8{3}” bbb -nE 8重复3次匹配输出 ? ? ? grep "8[4,5]" bbb -nE 8重复4-5次匹配输出 ? ? ? grep \(ab\).*\1分组,以ab为一个组,向后引用重复1次的行; ? ? ? egrep “nologin|root” /etc/passwd ? |表示或的意思? ? ? ?? ? ? ? sed option 'AddressCommand' file....... ? ? ? sed -n "23,34p" bbb 只显示23-34行?
十七:其他命令重要文件 ? ? ? echo "TMOUT=300" >>/etc/profile ?连接超时时间变量 ? ? ? echo "HISTSIZE=5" >>/etc/profile ?命令历史记录的时间变量 ? ? ? ulimit -n ?查看默认文件描述符 ? ? ? /var/log/messages ?系统日志文件,按周自动轮询 ? ? ? /var/log/secure ?安全日志,扫描端口日志,ssh登陆日志 ? ? ? /var/spool/cron/root 定时任务配置文件放此 ? ? ? /var/tmp ?临时文件longer TT ? ? ? /proc 目录下的 cpuinfo ?CPU信息; meminfo 内存信息;ioports 当前正在使用的io端口 ? ? ? loadavg负载信息 interrupt cpu中端 ?mount文件挂在 ? ? ? /etc/passwd ?/etc/shadow ?/etc/group ?/etc/gshadow
? ? 编码问题:windows上传到linux打开乱码: ? ? ?iconv ?-f gb2312(源文件编码) ?-t ?utf8(转以后) aaa.txt ?-o aaaok.txt (输出的新文件); ? ? iconv ?-f gb2312(源文件编码) ?-t ?utf8(转以后) aaa.txt ? -f --from-code=名称 原始文本编码 ? ? -l --list 列举出所有已知的字符集; ? ? linux上脚本导到windows上打开串行的问题(原因是回车处理方法不同)解决方法: [root@xuegod63 test]# yum install dos2unix ?#安装dos2unix [root@xuegod63 test]# unix2dos abc 在Linux编辑的文档到windows下没有换行.sh [root@xuegod63 test]# sz abc在Linux编辑的文档到windows下没有换行.sh ? #发送到windows本地 ?显示正常。 ? ? rpm -ivh /mnt/Packages/dos2unix-6.0 ?然后 ? ? ? unix2dos ?aaa.sh ?linux转windwos; ? ? dos2unix ? windows转linux
ifconfig eth0 192.168.1.53/24 route add default gw 192.168.1.1 echo nameserver 8.8.8.8 > /etc/resolv.conf rz上传 ? ? sz 加要下载的文件名 ?下载 apt install lrzsz
/etc/init.d/ssh restart update-rc.d ssh enable开机启动
env 查看环境变量
crontab -u atom -e 指定用户执行脚本 sudo -l 查看能够用到哪些密码 curl -I baidu.com 查看server服务器类型 ab -n 1000 -c 10 http://192.168.1.121/ iptables -L -n ? ? ? -F清空防火墙,服务器默认没有放80端口 zabbix_agentd -p | grep vfs.fs.size
echo -e "xue \ngod\a" .或者source test.sh 执行编写的shell ? .和source一样 ?bash在没有权限的时候执行 echo $PATH 查看变量 1/bin/ls ? ?2别名 ? ? 3type pwd ? ?4echo $PATH ?命令查询顺序 hash 哈希表 systeminfo 查看windows系统已经安装的补丁
absible
:set paste ? ?kali下进行粘贴
?
|