mkdir---创建目录命名:mkdir /usr/abc,当前目录还是指定目录下
删除目录:rm [-rf] 目录/文件
rm -r 目录1 递归删除当前目录下的指定目录1
rm -rf 目录2 递归删除当前目录下的指定目录2(不询问)
rm –rf * 将当前目录下的所有目录和文件全部删除
rm –rf /* 【自杀行为命令!谨慎使用!】将会把根目录下的所有目录及文件全部删除
删除文件:
rm 文件名称 删除当前目录下的指定文件
rm -f 文件文件 删除当前目录下的指定文件(不询问)
重命名目录或文件名:mv当前目录/文件 需改成的目录/文件名称
mv aaa bbb 将目录aaa改成bbb
mv aaa.txt bbb.txt 重命名
目录切换 cd / 根目录 cd – 切换到上次访问的目录
目录及文件列表查看ls ls -a查看当前目录下所有目录和文件(包括隐藏的文件) ls –l 以列表方式显示查看,显示更多信息
cp –r/cp 目录/文件名称 目录/文件拷贝的目标位置 –r代表递归
搜索目录或文件:find –name 目录/文件 参数 文件名称
find /data/tmp –name ‘a*’ 查找/data/tmp目录下的所有以a开头的目录或文件
find –name ‘a*‘ 查找当前目录下的所有以a开头的目录或文件
创建文件 touch 文件名
查看文件内容 cat/more/less/tail/head
cat:看最后一屏,只能显示最后一页内容
more:可以显示百分比,回车键一行一行看,空格看下一页,q可以退出查看
less:翻页查看,回车键一行一行看,空格看下一页,支持Pagedown和pageup翻页
tail:指定行数或动态查看,实时查看日志 tail –f
head head –n 7
终止当前操作命令:Ctrl+c和Ctrl+z都是中断命令,作用不一样。
Ctrl+Z将任务中断,但是此任务并没有结束,在进程中只是维持挂起的状态,用户可以使用fg/bg操作前台或后台的任务,bg命令把被中断的任务放在后台执行,fg命令重新启动前台被中断的任务。
Ctrl+C是强制中断程序的执行。
14.可以使用echo > 或 < 将命令的输出的命令重定向到txt文件中
echo 'Hello World' > /root/test.txt 将字符串“Hello World” 写入到test.txt文件中
echo "c.biancheng.net" echo后面的内容就会打印到屏幕上文件打包和压缩
15.tar -zcvf 打包压缩后的文件名 要打包的文件可以多个
16.查找操作命令grep
grep abc test.txt 在test.txt文件中搜索abc字符串,大小写敏感且显示行;
grep -n abc test.txt 在test.txt文件中搜索abc字符串,大小写敏感且显示行及行号;
grep -v abc test.txt 在test.txt文件中搜索abc字符串,大小写敏感且显示没搜索到的行;
grep -i abc test.txt 在test.txt文件中搜索abc字符串,大小写敏感且显示行;
grep -ni abc test.txt 在test.txt文件中搜索abc字符串,大小写敏感且显示行及行号;
ps -ef | grep nginx 查找指定nginx服务进程
ps -ef | grep nginx | grep -v grep 查找指定服务进程,排除gerp身
ps -ef | grep nginx -c 查找指定进程个数
17.查看历史使用命令:history
18.查看占用资源情况
1).ps -aux 占用的资源是从进程启动开始,计算的平均占用资源,比如cpu等
2).top 实时占用的资源;
19.查看当前目录所占存储情况
1).du -lh 查看当前文件下各文件夹占用存储空间
2).du -sh 查看当前文件夹所占存储空间
3).du --max-depth=<目录层数> 超过指定层数的目录后,予以忽略。
4).du --max-depth=1 只查看当前目录下文件占用的存储空间7.管道命令:根据项目查看进程,更加PID查看项目,以及项目路径
1).ps -ef 查看所有的进
2).ps -ef | grep nginx 查看nginx相关的进程
20.查看当前系统端口:
1).命令:netstat -an 查看全部端口
2).命令:netstat -an | grep 8080 搜索指定端口
21.查看IP信息:ifconfig 或 ifconfig | more
22.查看Linux 系统上的文件系统磁盘使用情况统计查看:df –h
23.查看当前目录:pwd
24.用于显示目录或文件的大小:du -h 目录路径 查看指定目录
25.杀死进程(根据PID):命令:kill pid 或者 kill -9 pid(强制杀死进程) pid:进程号
26.修改文件权限命令:chmod
其它:
git跟踪:git lfs install 安装
git lfs track "*.awdb" 跟踪一下你要push的大文件的文件或指定文件类型
git lfs track "*" 所有文件
查看ES线程池: curl localhost:9200/_cat/thread_pool?v
连接Redis: redis-cli -p 6380
连接PG: psql -U postgres \c skynet \d analysis_apps
psql -U postgres skynet
查看防火墙状态:systemctl status firewalld
iptables -I INPUT -m state --state NEW -m tcp -p tcp --dport 6382 -j ACCEPT
vi /etc/sysconfig/iptables
查看进程:ps -aux ps -aux | grep task_sub ps -aux --sort=-rss(按占用内存排序)
top shift+m (查看进程资源占用,按内存占用排序)
内存占用分布:./smem -u ./smem -u -p(内存占用分布百分比)
pmap -x pid 看进程内存占用
lsof -i:7755 查看端口是否开放
压缩:tar czvf /opt/work/our.tar.gz
解压:tar -zxvf 压缩文件名.tar.gz
看进程状态:supervisorctl status
查看crontab定时任务:cat /etc/crontab
sed -i '2a hello' /opt/work/text.txt 添加行到指定位置
sed -i '/tttt4/d' /opt/work/text.txt 删除行
查看io: iostat -xt 1 10
查看supervisor进程状态:supervisorctl status
同步代码:scp /data/account.py root@目的IP:/data
批量同步代码:for ip in {"IP1","IP2","IP3"} ;do scp account.py root@$ip:`pwd`; done
复制进容器:kubectl cp ./account.py -n tss-analy tss-behaviour-67f579946f-d8xcn:opt/work/service -c sub
外部环境导入:export PYTHONPATH="/opt/work/":$PYTHONPATH
变为可执行文件、加权限:chmod +x privilege_account.py
chown website:website /data/file
重启crontab: service crond restart
下载:sz 文件名
查看文件MD5:md5sum 文件名
查看文件差异:diff file1 file2
1、使用scp命令
scp /home/work/source.txt work@192.168.0.10:/home/work/ #把本地的source.txt文件拷贝到192.168.0.10机器上的/home/work目录下
scp work@192.168.0.10:/home/work/source.txt /home/work/ #把192.168.0.10机器上的source.txt文件拷贝到本地的/home/work目录下
scp -r /home/work/sourcedir work@192.168.0.10:/home/work/ #拷贝文件夹,加-r参数
yum install lrzsz
运行rz,会将windows的文件传到linux服务器
运行sz filename,会将文件下载到windows本地
Windows格式转linux:dos2unix filename
tar zcvf update.tar.gz ./*
find -name '*.sh'| xargs dos2unix
重启crontab: /bin/systemctl restart crond.service
获取OS命令执行结果:
result = os.popen("{} {} redis-cli -p 6380 hget slave_nodes {}".format(ssh, wait_sync_ip, wait_sync_ip))
result = result.read()
Python多字段排序:items = sorted(sorted(items, key=itemgetter('field2')), key=itemgetter('field1'), reverse=True)
查看内存磁盘占用:df -h
top -c T
top -c 然后shift + m
netstat -anlpn|grep 7755
查看CPU利用率:sar -r 1 10
ll /dev/sd*
查看ip_tables: iptables -nL
查看内存碎片:cat /proc/buddyinfo
Linux chattr命令用于改变文件属性
%util: 采用周期内用于IO操作的时间比率,即IO队列非空的时间比率,即一秒中有百分之多少的时间用于 I/O
uptime/w :查看系统负载
lscpu:查看CPU核数 socket(个数)core(核数)th(线程数)
vmstat 2 5 :使用 vmstat 命令以 2 秒的间隔监视系统资源,间隔 5 次
查看系统用户:compgen -u
Redis查看bigkey:redis-cli -p 6379 --bigkeys
查看文件大小:ls -lh
关闭防火墙、查看状态:
systemctl stop firewalld
firewall-cmd --stat
修改主机名:sudo hostnamectl set-hostname <newhostname>
linux查看IP:ifconfig | grep 'inet' | grep -v '127.0.0.1' | grep -v '::1' | awk '{print $2}'
以下命令几乎在所有 Linux 发行版都可用
1. uname 命令
uname -m 直接显示Linux 系统架构
uname -a 命令也可以显示Linux 系统架构,但是还有和其他信息
2. dpkg 命令
dpkg的命令可用于查看 Debian/ Ubuntu 操作系统是 32 位还是 64 位
dpkg --print-architecture
如果当前 Linux 是 64 位则输出 amd64,是 32 位则会输出 i386。
3. getconf 命令
getconf命令主要用于显示系统变量配置
getconf LONG_BIT
4. arch 命令
arch命令主要用于显示操作系统架构类型。如果输出x86_64 则表示为 64 位系统,
如果输出 i686 或 i386 则表示为 32 位系统。
5. file 命令
file命令可以配合 /sbin/init或者/bin/bash来查看系统架构类型,与系统架构相同:
file /sbin/init
查看redis版本:info
查看redis慢查询日志:slowlog get
获取磁盘:df -h | grep 'data[0-9]' | grep -vE 'data10' |grep -vE 'data11'| awk '{print $6}' | paste -sd ','
lsblk | grep 'data[0-9]' | grep -vE 'data10' |grep -vE 'data11'| awk '{print $7}' | paste -sd ','
disks=$(df |grep /sd|grep /data|grep -v /data10|grep -v /data11|sort -k6|awk '{print $6}')
df -h | grep 'data[0-9]' | grep -vE 'data10' |grep -vE 'data11'|sort -k6| awk '{print $6}' | paste -sd ','
lsblk | grep 'data[0-9]' | grep -vE 'data10' |grep -vE 'data11'|sort -k7| awk '{print $7}' | paste -sd ','
获取内存:free -g | awk '{print$2}' | sed -n '2p'
获取IP:ifconfig |grep "inet " |grep -v "127.0.0.1" |awk '{print $2}' | head -1
打通配置IP转发至127.0.0.1
iptables -t nat -A OUTPUT -p tcp -d 目的IP --dport 9200 -j DNAT --to 127.0.0.1:9200
iptables -t nat -A PREROUTING -p tcp --dport 9200 -j DNAT --to-destination 127.0.0.1:9200
sysctl -w net.ipv4.conf.ens5(IP网口).route_localnet=1
service iptables save
service iptables restart
sysctl -w net.ipv4.ip_forward=1 开启端口转发
sysctl -p
shell判断IP类型
ip_pattern="[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}"
if [[ "${ip_master}" =~ ${ip_pattern} ]]; then
fam=ipv4
else
fam=ipv6
fi
查看MD5 win:certutil -hashfile some_file MD5 md5sum some_file
C++编译:gcc helloworld.cpp -lstdc++ -o helloworld
g++ helloworld.cpp -o hello
VI显示行号:vi /etc/virc set nu