琐碎记录 琐碎记录

Mint各种命令


更多参考

常用

#shutdown -h now 立刻关机
#sudo find /etc/rc*.d -name '*java*' -or -name '*.java'
# reboot重启
# uname -a # 查看内核/操作系统/CPU信息
# head -n 1 /etc/issue # 查看操作系统版本
# cat /proc/version 查看系统版本
# lsb_release -a  查看系统信息
# cat /proc/cpuinfo # 查看CPU信息
# hostname # 查看计算机名
# hostnamectl set-hostname name 修改计算机名(centos7)
# lspci -tv # 列出所有PCI设备
# lsusb -tv # 列出所有USB设备
# lsmod # 列出加载的内核模块
# env # 查看环境变量资源
# free -m # 查看内存使用量和交换区使用量
# df -h # 查看各分区使用情况
# du -sh <目录名> # 查看指定目录的大小
# grep MemTotal /proc/meminfo # 查看内存总量
# grep MemFree /proc/meminfo # 查看空闲内存量
# uptime # 查看系统运行时间、用户数、负载
# cat /proc/loadavg # 查看系统负载磁盘和分区
# mount | column -t # 查看挂接的分区状态
# fdisk -l # 查看所有分区
# swapon -s # 查看所有交换分区
# hdparm -i /dev/hda # 查看磁盘参数(仅适用于IDE设备)
# dmesg | grep IDE # 查看启动时IDE设备检测状况网络
# ifconfig # 查看所有网络接口的属性
# iptables -L # 查看防火墙设置
# systemctl status firewalld # 查看防火墙状态
# dpkg --get-selections|grep linux- # 搜索已安装的包
service iptables status
chkconfig iptables on
chkconfig iptables off
service iptables start
service iptables stop

# find 快捷键设置,使用时直接find mytest.log即可
> vim ~/.zshrc
alias find='func() { find / -path "/System/Volumes/Data" -a -prune -o -name $1 -print 2>/dev/null;}; func'

# 禁用sshd禁止sshd服务自启动
> mv /etc/init/ssh.conf /etc/init/ssh.conf.disabled

# route -n # 查看路由表
# netstat -lntp # 查看所有监听端口
# netstat -antp # 查看所有已经建立的连接
# netstat -s # 查看网络统计信息进程
# netstat -tlnp | grep :8080 #
# ps -ef # 查看所有进程
# lsof -i:8080 #查看端口占用情况
# ps -aux |grep -v grep|grep [pid] # 根据PID查看进程对应执行命令
# top # 实时显示进程状态用户
# w # 查看活动用户
# id <用户名> # 查看指定用户信息
# last # 查看用户登录日志
> last -f /var/log/wtmp
# 最新的登录记录在最前面
> last | less
# 查看登录失败的用户信息
> lastb # 查看阻止或登陆失败的用户
> echo > /var/log/btmp 清理lastb日志
# crontab -l # 查看当前用户的计划任务服务
# chkconfig --list # 列出所有系统服务
# systemctl list-unit-files |grep enabled 查看所有的开机启动项(centos7)
# chkconfig --list | grep redis # 列出所有启动的系统服务程序
# rpm -qa # 查看所有安装的软件包
# rpm -ivh jdk-6u18-linux-i586.rpm 安装rpm包
# rpm -ivh --replacefiles xxx.rpm 安装rpm包
# rpm -e
# tar xvJf xxx.tar.xz  解压tar.xz
# tar zxvf apache-tomcat-7.0.19.tar.gz 解压tar
# tar zxvf apache-tomcat-7.0.62.tar.gz -C /home 解压到指定目录

#压缩文件夹并且只保留底层(webapp下的ROOT为顶层并且排除所有文件夹名为logs)
#tar -zcPf /tmp/ROOT.tar.gz -C /tomcat/webapp ROOT --exclude=logs 
#压缩当前目录*排除所有文件夹名为logs
#tar -zcf xx-xx.tar.gz * --exclude=logs 

# tar -zcvf tomcat-plb-0724.tar.gz ./tomcat-plb/* 压缩包
# rm -rf /var/log 删除log及其目录下所有
# find /tmp/test/ | grep -v test2 | xargs rm 删除tmp/test目录下排除test2文件夹外的所有
# rm -rf `ls *.txt|egrep -v '(test1.txt|test2.txt|test3.txt)'` 删除*.txt文件但是排除test1,2,3等文件
# ps -ef | grep java 根据名字查找进程
# lsof -n | grep java 根据名字查找进程
# kill -9 进程id  杀死某个进程
# tail -f catalina.out 监控动态输出的日志
# lsof -i:8080 查看某个端口的信息
# cp -rf /nodejs/bin/*  /usr/bin 拷贝bin命令到快捷方式,就可以在任何地方执行命令
# cp -rf /xx/* /x/x 拷贝所有不提示

#kill -9 `ps -ef|grep eclipse|head -1|gawk '{print $2}'`  杀死第一个eclipse进程
# chmod u+x test.sh 更改文件权限:u文件拥有者 g用户组 a所有用户 o其它用户,+增加权限-删除权限,r可读w可写x可执行
# chown -R yourname:yourgroup test.sh  更改文件所属者
# usermod -a -G 用户组 用户名 #把用户添加进某个组
# usermod -g 用户组 用户名 #修改用户组
# vim /etc/sudoers 复制root的为当前用户提升权限

# alias 使用别名快速执行命令,先type判断是否存在别名mvn,如果存在则unalias掉,再重新设置
> type mvn 
> unalias mvn
> alias mvn='/home/lisf/pro/maven/apache-maven-3.6.2/bin/mvn'
上述只是暂时,想永久生效得写入.zshrc(oh-my-zsh插件)或写入.bashrc
> vim ~/.bashrc
or
> vim ~/.zshrc
alias mvn='/home/lisf/pro/maven/apache-maven-3.6.2/bin/mvn'

# type 根据命令查找可执行文件目录信息
> type mvn 
> type java

# lastb 查看登录未成功暴力破解的IP
> last -f /var/log/btmp
or
> lastb
# 限制ip列表
> vim /etc/hosts.deny
sshd:192.168.0.*
> service sshd restart
or
> systemctl restart sshd

# 查看最后登录成功的ip日志
> last -i

# sed替换文本内容相关(注意mac上sed与linux不一致,需要brew install gnu-sed并设置别名alias sed=gsed)
# 替换文件内容(spring.profiles.active=dev 变为 spring.profiles.active=prod)
sed -i "s/spring.profiles.active=dev/spring.profiles.active=prod/g" /tmp/application.properties
# 批量替换/tmp目录下所有文本内容test1修改为test2
sed -i "s/test1/test2/g" `grep test1 -rl /tmp`
# 批量替换/tmp下所有js和yml文件内容里的http://192.168.1.1:8080值修改为http://192.168.1.1:7070
sed -i "s/http:\/\/192.168.1.1:8080/http:\/\/192.168.1.1:7070/g" /tmp/*.js /tmp/*.yml

# 检查nginx目录下存在非ASCII字符的配置文件(中文转ASCII:https://tool.oschina.net/encode?type=3)
grep -r -P '[^\x00-\x7f]' /etc/nginx

# 复制目录
cp -r /tmp/jetty/* /home/deploy/jetty9

# tomcat随系统自启动服务(注意其它脚本自启动需要参考daemon.sh有start,stop)
> ln -s /xxx/apache-tomcat-8.5.33/bin/daemon.sh /etc/init.d/mytomcat
> chkconfig --add mytomcat
> chkconfig --level 2345 mytomcat on
> chkconfig --list mytomcat (查看)
> chkconfig --del mytomcat (删除)
> service mytomcat start
> service mytomcat stop

# 查找系统超过500M的大文件
find / -type f -size +500M

# 查找系统超过100M的大文件
find / -size +100M -exec ls -lh {} \;

# 删除当前目录下5天前的文件(有可能会删除所有,比如最近5天都没有文件)
find . -type f -mtime +5 -exec rm -f {} \;
或
find . -type f -mtime 5 -name \*.log | xargs rm -rf

# 删除其它所有只保留最近创建的5个文件(+6:跳过前5个文件从第6个文件开始,永远只保留5个不分哪天也许是最后一天的5个)
ls -t | tail -n +6 | xargs -I {} rm -- {}
解释:
>ls -t:按修改时间排序文件,最新的文件在最前面
>tail -n +6:跳过前5个文件,从第6个文件开始
>xargs -I {} rm -- {}:删除选定的文件

# 清空nginx日志
echo "" > /usr/local/nginx/access.log

# 释放内存:
> cat /proc/sys/vm/drop_caches (默认为0)
> sync (如果必须停止系统,则运行 sync 命令以确保文件系统的完整性。sync 命令将所有未写的系统缓冲区写到磁盘中,包含已修改的 i-node、已延迟的块 I/O 和读写映射文件)
> echo 3 > /proc/sys/vm/drop_caches
> cat /proc/sys/vm/drop_caches (为3)
> free -m 查看是否已释放
官方解释:
释放 pagecache,使用命令:echo 1 > /proc/sys/vm/drop_caches
释放 dentries and inodes,使用命令:echo 2 > /proc/sys/vm/drop_caches
释放 pagecache,dentries and inodes,使用命令:echo 3 > /proc/sys/vm/drop_caches

# 当前活动连接数量
> ss -n | grep ESTAB | wc -l

# 查看dentry/flip/sock_inode_cache/TCP四个内核对象的ACTIVE活动数
> slabtop

# 内存占用排序:
> ps aux|head -1;ps aux|grep -v PID|sort -rn -k +4|head

# CPU占用排序:
> ps aux|head -1;ps aux|grep -v PID|sort -rn -k +3|head

%CPU:进程占用CPU的百分比 
%MEM:进程占用物理内存的百分比 
VSZ:进程占用的虚拟内存大小(单位:KB) 
RSS:进程占用的物理内存大小(单位:KB) 
TT:终端名称(缩写),若为?,则代表此进程与终端无关,因为它们是由系统启动的 
STAT:进程状态,其中S-睡眠,s-表示该进程是会话的先导进程,N-表示进程拥有比普通优先级更低的优先级,R-正在运行,D-短期等待,Z-僵死进程,T-被跟踪或者被停止等等 
STARTED:进程的启动时间 
TIME:CPU时间,即进程使用CPU的总时间 
COMMAND:启动进程所用的命令和参数,如果过长会被截断显示 

# sudo 免密码运行systemctl命令
> sudo visudo
%wheel  ALL=(ALL)  ALL后面新增:
mysshuser  ALL=(ALL)  NOPASSWD: /usr/bin/systemctl

#定时任务
crontab -e 

(centos6使用vim /etc/crontab ,
不存在则安装: yum install crontabs
启动:service crond start
查看:service crond status
加入开机自动启动: chkconfig crond on
查看:chkconfig --list crond
符合下列结果说明自启动成功:
0:关闭	1:关闭	2:启用	3:启用	4:启用	5:启用	6:关闭
)

crontab -l
/etc/init.d/crond restart
或
service crond restart

# 终端颜色
> vim ~/.bashrc
export PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '

# centos 搜索/卸载 jdk包
> rpm -qa | grep -E '^open[jre|jdk]|j[re|dk]'
> yum -y remove jdk1.8.0_131-1.8.0_131-fcs.x86_64
给用户执行脚本的权限(不给写编辑权限)
> chmod o+rx deploy.sh
> chown -R jenkins:jenkins jetty9
> chown -R jenkins:jenkins mavendir/repo
jenkins用户下执行
> ssh-keygen -t rsa
后gitlab Deploy Keys 添加jenkins的~/.ssh/id_rsa.pub即可

#禁用访客会话
> vim /usr/share/lightdm/lightdm.conf.d/50-guest-wrapper.conf
[Seat:*]
guest-wrapper=/usr/lib/lightdm/lightdm-guest-session
allow-guest=false

# 根据进程号查询对应的目录
> /proc/16793/cwd
> ls -la /proc/16793/fd

# 查看进程号线程数
> ps -Lf 16793|wc -l

# 查看端口的并发数(tomcat-8080)
> netstat -an|grep 8080|awk '{count[$6]++} END{for (i in count) print(i,count[i])}'

#查看端口情况
> netstat -anp|grep 8080
> lsof -i:8080

#查看系统版本
cat /proc/version
uname -a

#添加系统环境变量文件
vim /etc/profile.d/myenv.sh
export JAVA_HOME=/xx/jdk8
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

#查看日志文件
tail -f /var/logs/tomcat.log
zcat mywebapp-info.20170211-*.log.gz | grep --binary-files=text 'Exception' -C 2

#彻底杀死所有tomcat进程
ps -ef |grep tomcat | grep -v grep |awk '{print $2}'|xargs kill -9 1>/dev/null 2>&1 

#执行POST请求
curl -H "Content-Type: application/json;charset=UTF-8" -X POST -d '{"msgtype":"text","text":{"content":"hello,test"}}' https://www.xx.com/xx/post

#查询端口号占用情况
lsof -i:8080

#修改SSH端口默认22为其它值
> vim /etc/ssh/sshd_config
# Port 22
Port 2333
> systemctl restart sshd
or
> service sshd restart
or
> service ssh restart
本地客户端相应修改后ssh命令就不用带ssh端口号了
> vim ~/.ssh/config
host git.mytest.com
port 10022

host 192.168.10.11
port 2333

#权限700自己读写他人不能读写,755自己读写他人可读,777自己和他人都可读写
chmod 700 ? 755 ? 777 ? -R ? yourfile

#使用SCP上传文件到远程linux服务器
scp ~/.ssh/id_rsa.pub root@remote_ip:/root/.ssh/id_rsa.pub

#免密码登陆远程linux机器
ssh-keygen -t rsa
chmod  700 /remote_root/.ssh
scp ~/.ssh/id_rsa.pub root@remote_ip:/remote_root/.ssh/id_rsa.pub
touch /remote_root/.ssh/authorized_keys
chmod 600 /remote_root/.ssh/authorized_keys
cat /remote_root/.ssh/id_rsa.pub  >> /remote_root/.ssh/authorized_keys

#跳板机登陆远程内网机器(webserver,dbserver 上有 tiaoban 的authorized_keys,本地即可ssh/scp root@webserver/dbserver)
Host tiaoban
    HostName 跳板机外网IP
    Port 跳板机外网SSH端口
    User tiaobanusr

Host webserver
    HostName 内网IP(与跳板机一个网段)
    Port 22
    User root
    ProxyCommand ssh tiaobanusr@tiaoban -W %h:%p

Host dbserver
    HostName 内网IP(与跳板机一个网段)
    Port 22
    User root
    ProxyCommand ssh tiaobanusr@tiaoban -W %h:%p

#Linux下管理员强行踢出用户
#输入w命令查看已登录用户信息
w
#防止踢除自己
who am i
#使用命令pkill -kill -t 踢除其它用户TTY
pkill -kill -t pts/2

#使用nohup忽略正常日志
> nohup ./springboot-test.jar >/dev/null 2>log &
#使用nohup忽略正常日志和错误日志
> nohup ./springboot-test.jar >/dev/null 2>&1 &
#结束nohup进程(kill 命令不带 -9 参数会回调结束通知,否则强制结束)
温和关闭:
> kill `pgrep -f springboot-test.jar` 2>/dev/null
强制关闭所有查询结果的进程:
> ps -ef |grep springboot-test.jar | grep -v grep |awk '{print $2}'|xargs kill -9 1>/dev/null 2>&1 

#linux重定向
0、1和2分别表示标准输入、标准输出和标准错误信息输出,可以用来指定需要重定向的标准输入或输出。
在一般使用时,默认的是标准输出,既1.当我们需要特殊用途时,可以使用其他标号。例如,将某个程序的错误信息输出到log文件中:./program 2>log。这样标准输出还是在屏幕上,但是错误信息会输出到log文件中。
另外,也可以实现0,1,2之间的重定向。2>&1:将错误信息重定向到标准输出。
Linux下还有一个特殊的文件/dev/null,它就像一个无底洞,所有重定向到它的信息都会消失得无影无踪。这一点非常有用,当我们不需要回显程序的所有信息时,就可以将输出重定向到/dev/null。
如果想要正常输出和错误信息都不显示,则要把标准输出和标准错误都重定向到/dev/null, 例如:
# ls 1>/dev/null 2>/dev/null
还有一种做法是将错误重定向到标准输出,然后再重定向到 /dev/null,例如:
# ls >/dev/null 2>&1
注意:此处的顺序不能更改,否则达不到想要的效果,此时先将标准输出重定向到 /dev/null,然后将标准错误重定向到标准输出,由于标准输出已经重定向到了/dev/null,因此标准错误也会重定向到/dev/null,于是一切静悄悄


# 挂载磁盘
1. fdisk -l 找出所有磁盘及空闲磁盘/dev/vdb
2. 格式化该磁盘mkfs -t ext4 /dev/vdb
3. 创建/data文件夹
4. 挂载磁盘 mount /dev/vdb /data
5. 系统级重启挂载: 
vim /etc/fstab
/dev/vdb		/data		ext4		defaults 	0 0

# 挂载文件夹(/var/lib/docker文件夹磁盘不够,迁移到大的磁盘/data/docker/root目录,并且docker配置不用变继续用/var/lib/docker访问)
vim /etc/fstab
/data/docker/root		/var/lib/docker		none		bind 	0 0

# centos彻底卸载mysql
> yum remove mysql mysql-server mysql-libs mysql-server
> find / -name mysql
rm -rf /usr/share/mysql
rm -rf /var/lib/mysql
> rpm -qa|grep mysql
yum remove mysql-community-common-5.6.27-2.el6.x86_64
yum remove mysql-community-release-el6-5.noarch


# python3 pip3安装gensim失败,解决:先删除再安装适合的低版本
> pip3 uninstall numpy gensim
> pip3 install numpy==1.19.5 gensim==4.0.1

用户账户相关

#添加非root用户并且使用sftp
> sudo useradd dev_xx # 用户名
> sudo passwd dev_xx # 设置密码
> sudo groupadd group_xx #添加组
> sudo usermod -G group_xx dev_xx #把用户dev_xx添加到组group_xx
> sudo find /usr/local -type f -regex ".*\.\(yml\|sh\)" | xargs setfacl -m u:dev_xx:- #禁止文件权限
> > setfacl -R -m u:dev_xx:- /etc/nginx #禁止目录权限
> setfacl -R -m u:dev_xx:rx /etc #如果sftp无法登录可能/etc目录没有权限
> systemctl restart sshd
or
> service sshd restart
or
> service ssh restart

#添加用户
> sudo useradd -m jenkins
> passwd jenkins
> sudo usermod -s /bin/bash demo (ubuntu)

# 添加只读用户
> useradd -s /bin/bash readonly
> passwd readonly
> mkdir /home/readonly/.bin
	> vim /home/readonly/.bash_profile
		修改PATH路径 PATH=$HOME/.bin
> mkdir /home/readonly/.ssh (只允许ssh登录时需要)
	> touch /home/readonly/.ssh/authorized_keys
	> chown -R readonly:readonly /home/readonly/.ssh
## root修改用户的shell配置文件
> chown root. /home/readonly/.bash_profile 
> chmod 755 /home/readonly/.bash_profile
> chattr -i /home/readonly/.bash_profile
## (可选,让只读用户执行命令)将允许执行的命令链接到$HOME/.bin目录
ln -s /usr/bin/wc  /home/readonly/.bin/wc
ln -s /usr/bin/tail  /home/readonly/.bin/tail
ln -s /bin/more  /home/readonly/.bin/more
ln -s /bin/cat  /home/readonly/.bin/cat
ln -s /bin/grep  /home/readonly/.bin/grep
ln -s /bin/find  /home/readonly/.bin/find
ln -s /bin/pwd  /home/readonly/.bin/pwd
ln -s /bin/ls  /home/readonly/.bin/ls
ln -s /usr/bin/less /home/readonly/.bin/less
ln -s /bin/tar  /home/readonly/.bin/tar
## (可选)切换到只读账号使环境变量生效
> su - readonly
> source /home/readonly/.bash_profile
或
> ssh readonly@IP
## 禁止用户访问某个目录或权限(设置ACL规则)
> setfacl -R -m u:readonly:- /bin
> cd /bin
> setfacl -m u:readonly:- mv
> setfacl -m u:readonly:- rm
> setfacl -m u:readonly:- vim
> setfacl -m u:readonly:- vi
> setfacl -m u:readonly:- ls
> setfacl -m u:readonly:- find
> setfacl -m u:readonly:- tail
> setfacl -m u:readonly:- more
> setfacl -m u:readonly:- less
> setfacl -m u:readonly:- cat
> setfacl -m u:readonly:- wget
> setfacl -m u:readonly:- curl
> setfacl -m u:readonly:- tar
> setfacl -m u:readonly:- unzip
> setfacl -m u:readonly:- zip
## 禁止用户访问某个目录下的部分文件权限
> find /usr/local/deploy -type f -regex ".*\.\(yml\|sh\)" | xargs setfacl -m u:readonly:-
## 允许用户访问某个目录或权限(r读x执行w写)
> setfacl -R -m u:readonly:rx /bin
> setfacl -m u:readonly:rx /bin/vim
## 查看某个目录ACL规则
> getfacl /bin
## 删除ACL规则
> setfacl -b /bin

#添加非登录用户
sudo useradd -r -s /sbin/nologin tomcat

# 查看系统所有用户
> cut -d: -f1 /etc/passwd 
> cut -d: -f1 /etc/passwd | grep xxx
# 查看系统所有组
> cut -d: -f1 /etc/group 

# 查看系统当前已登录的用户列表
> w
或
> who
USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
root     pts/0    121.234.185.39  12:12    2.01m  0.01s  0.00s w
root     pts/1    101.100.22.102  11:14    2:14m  0.01s  0.01s -bash

# 踢出其它用户
> pkill -kill -t pts/1

# 只允许root登录
root> touch /etc/nologin 
root> echo "Systems are wealth maintenance, 1 hour after the landing." > /etc/nologin

/proc/sysrq-trigger用法

#打印现在所有活动CPU的堆栈,配合dmesg使用(top发现CPU占用高时使用)
echo l > /proc/sysrq-trigger
(
	> echo l > /proc/sysrq-trigger
	> dmesg
	[5709990.820967] [drm:virtio_gpu_dequeue_ctrl_func [virtio_gpu]] *ERROR* response 0x1202 (command 0x103)
	> lsmod | grep virtio_gpu //查询virtio_gpu模块
	> rmmod virtio_gpu //卸载模块
)

#立即重启机器,而且不会将缓冲区同步到硬盘,也不会卸载已挂载的硬盘
echo b > /proc/sysrq-trigger

#使系统崩溃,如果配置了crashdump,崩溃后会生成dump文件
echo c > /proc/sysrq-trigger

#列出系统中所有被持有的锁
echo d > /proc/sysrq-trigger

#向系统中除init外的所有进程发出SIGTERM信号
echo e > /proc/sysrq-trigger

#调用oom_kill杀死内存的hog进程
echo f > /proc/sysrq-trigger

#kgdb会使用该项
echo g > /proc/sysrq-trigger

#显示帮助信息
echo h > /proc/sysrq-trigger

#向系统中除init外的所有进程发出SIGKILL信号
echo i > /proc/sysrq-trigger

#Forcibly "Just thaw it" - filesystems frozen by the FIFREEZE ioctl
echo j > /proc/sysrq-trigger

#Secure Access Key (SAK) Kills all programs on the current virtual
console. NOTE: See important comments below in SAK section.
echo k > /proc/sysrq-trigger

#将当前内存信息dump到终端
echo m > /proc/sysrq-trigger

#用来使实时任务可以设置nice值
echo n > /proc/sysrq-trigger

#关闭系统
echo o > /proc/sysrq-trigger

#将寄存器和flags dump到终端
echo p > /proc/sysrq-trigger

#Will dump per CPU lists of all armed hrtimers (but NOT regular timer_list timers) and detailed information about all
clockevent devices
echo q > /proc/sysrq-trigger

#Turns off keyboard raw mode and sets it to XLATE。
echo r > /proc/sysrq-trigger

#将尝试同步重新挂载所有已挂载的文件系统
echo s > /proc/sysrq-trigger

#立即重新挂载所有的文件系统为只读(将当前任务的列表和他们信息输出到终端)
echo u > /proc/sysrq-trigger

#强制恢复framebuffer console
echo v > /proc/sysrq-trigger

#将进入uninterrupted状态的任务信息dump出来
echo w > /proc/sysrq-trigger

#Used by xmon interface on ppc/powerpc platforms
echo x > /proc/sysrq-trigger

#Show global CPU Registers [SPARC-64 specific]
echo y > /proc/sysrq-trigger

#Dump the ftrace buffer
echo z > /proc/sysrq-trigger

#数字设置日志级别Sets the console log level, controlling which kernel messages
will be printed to your console. ('0', for example would make
it so that only emergency messages like PANICs or OOPSes would
make it to your console.)
echo '0'-'9' > /proc/sysrq-trigger

查看端口及启动进程相关

# lsof -i:8080 #查看端口占用情况,没有则代表8080端口没有程序使用,如果有则根据结果PID执行下列命令找到占用程序
# 根据PID查看进程对应执行命令:
> ps -aux |grep -v grep|grep [PID]
或
> ps -ef | awk '{if(NR==PID||$2==PID){print $0}}'

下一篇 MacOS相关

Content