title: Linux命令行实战
date: 2018-3-31
tags:
- Linux
翻笔记,这里是一些日常使用到Linux的命令,记录在笔记,并反复看有利于帮助我们熟能生巧,就不需要每次都去网上找命令啦,温顾而知新,记多了发现命令也掌握了,自然而然。
TODO:发现之前的笔记比较零散,没有知识体系模块化,有时间还需要再改进一番!
还有一些内容分散在其他笔记,接下来再慢慢填充~
-
vim hello.c
编辑hello.c文件(按i进入编辑模式,按esc :wq!保存退出) -
gcc hello.c -o hello
编译hello.c成系统可读的hello.o文件 -
./hello
执行当前目录下的hello.o文件 -
mount -v
-
mount -l
-
su
切换用户为root,(切换其他用户:su username) -
cd /mnt
-
mkdir -p /mnt/cdrom
-
mount -t auto /dev/cdrom mnt/cdrom
-
which is
-
ls -a
-
ls -F
-
ls -m
-
ls -r
-
rpm -qa | grep jdk
查看JDK信息 -
java -version
查看java版本 -
yum -y remove java-1.4.2-gcj-compat-1.4.2.0-40jpp.115
卸载 java-1.4.2-gcj-compat-1.4.2.0-40jpp.115 -
cp -r jdk-8u121-linux-x64.tar.gz /usr/java
拷贝当前路径下的文件jdk-8u121-linux-x64.tar.gz到 /usr/java路径下 -
tar -zxvf jdk-8u121-linux-x64.tar.gz
解压文件 -
ln -s /usr/java/jdk1.8.0_121/ /usr/jdk
创建快捷方式/usr/jdk -
source /etc/profile
加载配置信息 -
sudo shut down -r now
关机重启 -
echo $JAVA_HOME
读取$JAVA_HOME值 -
ls -l lib
查看当前目录下lib文件的文件权限 -
rm -rf /usr/java/jdk1.8.0_101
删除/usr/java/jdk1.8.0_101其下的所有文件 -
mv /usr/bin/java /usr/bin/java-1.8.0_0
将 /usr/bin/java 改名为/usr/bin/java-1.8.0_0 -
In -s $JAVA_HOME/bin/java /usr/bin/java
将目录$JAVA_HOME/bin下的java文件链接到目录/usr/bin相对应的java文件,其中-s为符号连接(源:文件、目录),不是硬连接(源:文件) -
ls -l
查看当前目录下的文件的所有权限 -
chmod 777 TestJNI.java
更改当前目录下TestJNI.java文件的权限
r:4,w:2,x:1 => 组合变换(例子:[-rwxr-----]:4+2+1 4 0 => 740)
[图片上传失败…(image-68fe6c-1587421742034)] -
whereis gcc
查看是否有gcc这个软件,有的话,显示地址 -
vi makefile
编辑makefile文件(按i进入编辑模式,按esc :wq!保存退出) -
pwd
获取当前路径 -
cd ./java 设置路径为:当前路径下java文件夹的路径
-
find . -iname aguicode
在当前目录下查找“aguicode”的文件(-name不忽略大小写) -
find .
查找当前目录下的所有文件 -
ifconfig
查看Linux下的IP地址 -
rpm -qa |grep yum
查看是否安装了yum,并含有那些包 -
rpm -qa|grep yum|xargs rpm -e -nodeps
不检查依赖,直接删除yum下的包 -
ping IP地址
查询IP地址与本机的连接情况 -
enco $LD_LIBRARY_PATH
获取library环境变量 -
date
查看当前时间 -
nm -D libxxxJAVA.so.1.0.0
显示二进制目标文件(库、可执行)的符号表 -
ln -s libabc.so.1.0.0 libabc.so
将当前路径下的libabc.so.1.0.0添加为快捷键 abc.so -
tar -xvf mysql-5.7.12-1.el6.x86_64.rpm-bundle.tar
解压tar后缀的mysql安装包到当前目录 -
uname -a
查询Linux版本 -
tail -f 300 catalina.out (cd $CATALINA_HOME/logs)
查看tomcat的运行情况 -
bash /home/xxxCRYPTO/setup.sh
执行sh脚本 -
rpm -qa | grep java
查看是否有java -
chmod 777 xxx
给xxx赋予777权限 -
rpm xxx.rpm
解压xxx.rpm -
ps aux | grep java
查找当前linux环境下java的进程情况 -
kill -9 24441
杀掉24441进程 -
getconf LONG_BIT
查看linux的位数 -
service iptables stop
关闭防火墙 -
ps qa| grep java
查看当前linux环境下java的安装 -
update-alternatives --config java
显示已有的java安装 -
rpm -qa|grep jdk
查看自带的jdk -
rpm -e --nodeps java-1.6.0-openjdk-javadoc-1.6.0.35-1.13.7.1.el6_6.x86_6
删除自带jdk -
netstat -tunlp
查看端口与进程 -
ps -ef |grep java
查看java进程有没有被调用 -
systemctl stop firewalld、systemctl status firewalld
关闭防火墙 -
lsof -i:80
查看端口为80的进程 -
netstat -tunlp
查看所有端口的使用情况 -
netstat -ntp|grep mysql
查询mysql端口 -
firewall-cmd --zone=public --add-port=443/tcp --permanent
开启443端口 -
cat /var/log/mysqld.log
查看mysql当前日志 -
date -s "20180911 14:53:30"
修改系统时间 -
top -d 2 -c -p 5449
每隔2秒显示pid是5449的进程的资源使用情况,并显式该进程启动的命令行参数间 -
ps auxw | head -1;ps auxw|sort -rn -k4|head -5
显示cpu占用资源前5的资源 -
netstat -n | awk ‘/^tcp/ {++state[$NF]} END {for(key in state) print key,"\t",state[key]}’ 查看系统tcp的连接数
-
uptime
查看过去的1分钟、5分钟和15分钟内进程队列中的平均进程数量。(最好小于CPU数) -
uname -a
查看系统内核版本号 -
uname -r
查看系统简单的内核版本号 -
vmstat 2 3
监控系统CPU状态
r–运行和等待cpu时间片的进程数,这个值如果长期大于系统CPU的个数,说明CPU不足,需要增加CPU
b–在等待资源的进程数,比如正在等待I/O、或者内存交换等。
us—用户进程消耗的CPU 时间百分比。
us的值比较高时,说明用户进程消耗的cpu时间多,但是如果长期大于50%,就需要考虑优化程序或算法。
sy—内核进程消耗的CPU时间百分比。Sy的值较高时,说明内核消耗的CPU资源很多。
根据经验,us+sy的参考值为80%,如果us+sy大于 80%说明可能存在CPU资源不足。 -
cat /proc/cpuinfo |grep “physical id”|sort|uniq|wc -l
查看系统物理CPU个数 -
cat /proc/cpuinfo |grep “cpu cores”|wc -l
查看系统CPU核数 -
cat /proc/cpuinfo |grep “processor”|wc -l
查看系统CPU逻辑个数 -
iostat -x 1 5
查看系统IO性能(每一秒显示1次,显示5次) -
jmap -heap pid
查看JVM物理内存的占用情况(堆) -
jmap -histo pid
查看JVM物理内存的详细情况(堆),包括类名、对象,占用大小 -
jmap -histo 3916 | jmap -histo:live 3916 > jvm.histo.txt
将正在使用的JVM打印到文本上 -
docker exec -it mysql_5.7.19 bash
在docker启动mysql -
docker start mysql_5.7.19
在docker启动mysql -
docker ps
查看docker下正在运行的镜像(需要注意的是CONTAINER ID) -
docker exec -it de9fa67527f6 /bash
进入docker对应的CONTAINER ID镜像 -
docker stop de9fa67527f6
关闭docker对应的CONTAINER ID镜像(例如de9fa67527f6代表的是mysql,那么就是关闭mysql) -
docker images
查看挂载在docker的所有镜像 -
docker info
查看docker的详细信息 -
lscpi
查看插口占用的情况 -
dmidecode | grep -A16 "System Information$"
查看主板型号 -
dmidecode
查看系统所有的硬件型号