0%

linux常用命令与知识点

查看所有可执行path

1
echo "$PATH"

返回上次所在目录

1
2
cd -
cd $OLDPWD

cd

1
2
cd - 返回进入此目录之前所在的目录
cd .. 返回上级目录

修改权限

1
2
# 修改文件夹以及其子文件夹
chmod -R 777 fileName

cp

cp: omitting directory

增加-r

1
cp -r ...

find和grep

find是在系统中搜索符合条件的文件名,grep是在文件中搜索符合条件的字符串。

1
2
3
4
find ~/dir -name filename.txt
grep "someStr" filename.txt
# 查询某个文件夹下面大小大于某个值文件
find ~/dir -type f -size +1G

ls 查询目录具体file

1
2
3
4
# 按照时间升序
ls -lrt
# 按照时间降序
ls -lt

ll按时间排序

1
2
3
4
# 升序
ll -rt
# 降序
ll -t

ll按大小排序

1
2
# 大小单位按照human-readable
ll -Sh

ln链接命令

1
2
3
ln -s [源文件] [目标文件]
# -s软链接,不带-s是硬链接,硬链接等于是copy了一份文件,软链接相当于window的快捷方式。
# 硬链接不能对目录使用,删除源文件,硬链接可以正常使用,软连接不可以。

wget命令

1
# 拉取文件

tar

tar -zxvf 用于解压 .tar.gz 后缀结尾的

tar -xvf 用于解压 .tar后缀结尾的

touch

1
2
# 创建空白文件
touch filename

nohup

后台不挂断执行,执行某个脚本,并将脚本的执行打印日志追加写入到某个文件:

1
nohup xxx.sh >> /usr/local/node/output.log 2>&1 &

jboss:

1
2
# 启动指定部署目录:
nohup ./run.sh -c web38b -b 0.0.0.0 >/dev/null 2>&1 &

/dev/null redirects standard output (stdout) to /dev/null, which discards it.
(The >> seems sort of superfluous, since >> means append while > means truncate and write, and either appending to or writing to /dev/null has the same net effect. I usually just use > for that reason.)
2>&1 redirects standard error (2) to standard output (1), which then discards it as well since standard output has already been redirected.

更改所有子文件和子目录所有者权限

1
chmod -R 777 fileDir

curl

curl -H “Content-Type:application/json” -X POST -d ‘json data’ URL

1
curl -H "Content-Type:application/json" -X POST -d '{"user": "admin", "passwd":"12345678"}' http://127.0.0.1:8000/login
1
curl -d "user=admin&passwd=12345678" http://127.0.0.1:8080/login

监控某个网站的网页响应下载时间:

1
curl -o /dev/null -s -w ‘%{time_total}’ https://www.fengorz.me

更多用法参考:https://www.cnblogs.com/taosim/articles/4092572.html

结果格式化

1
2
npm install -g json
curl -X GET "http://127.0.0.1:9200/kiwi_vocabulary/_search" -s | json

df命令详解(清理磁盘空间)

1
2
# 先列出大文件
du -sh *

whereis
which
xargs
https://blog.csdn.net/wzzfeitian/article/details/40985549


标准输出重定向
标准输出重定向到空,相当于忽略输出


查看防火墙,放开端口

ps

killall

结束所有进程

1
killall -9 picName  

##线上日志文件查看

查看文件内容more命令

https://www.runoob.com/linux/linux-comm-more.html

less命令

https://www.runoob.com/linux/linux-comm-less.html

less搜索

/字符串:向下搜索”字符串”的功能
?字符串:向上搜索”字符串”的功能

ps查看进程信息并通过less分页显示:

1
ps -ef | less

历史命令信息分页:

1
history|grep cd |less

参数:

1
2
3
4
5
6
-N 显示每行的行号
/字符串:向下搜索"字符串"的功能
?字符串:向上搜索"字符串"的功能
n:重复前一个搜索(与 / 或 ? 有关)
N:反向重复前一个搜索(与 / 或 ? 有关)
b 向后翻一页

解压war包

1
2
3
4
# 解压到当前目录
jar -xvf
# 解压到指定目录
unzip pay.war -d /home/zookeeper1/test/pay

du

https://blog.csdn.net/zzldm/article/details/82804557

查看对应目录大小

1
2
3
4
5
du -sh 路径
du -sh     显示当前目录所占空间大小
df 显示磁盘占用信息
直接df默认一k为单位
df -lh 显示本地系统的占用信息,以K,M,G为单位

sed

Linux sed 命令是利用脚本来处理文本文件。

sed 可依照脚本的指令来处理、编辑文本文件。

Sed 主要用来自动编辑一个或多个文件、简化对文件的反复操作、编写转换程序等。

https://www.runoob.com/linux/linux-comm-sed.html

scp

从本地复制到远程:

1
2
3
4
5
6
scp local_file remote_username@remote_ip:remote_folder 
或者
scp local_file remote_username@remote_ip:remote_file
或者 scp local_file remote_ip:remote_folder
或者
scp local_file remote_ip:remote_file

https://www.runoob.com/linux/linux-comm-scp.html

远程调用shell命令

https://www.cnblogs.com/ilfmonday/p/ShellRemote.html

Linux下如何查看版本信息

[https://www.cnblogs.com/williamjie/p/10271945.html](https://www.cnsnap install coreblogs.com/williamjie/p/10271945.html “”)

1
2
3
cat /etc/os-release
hostnamectl
uname -r

sleep

睡眠一段时间(5秒)

1
sleep 5s

利用管道kill掉监听端口的进程

1
kill -9 `lsof -i -n -P | grep ? | awk '{print $2}'`

将问号换成对应的端口号

tldr

1

top(查看内存状态)

1
2
top -i(不显示任何闲置(Idle)或无用(Zombie)的行程)
cat /proc/meminfo

https://www.jianshu.com/p/255b54b5445f

cat

查看日志使用tail是不会显示行号的,如果要具体比对某些行,可以使用:

1
cat -n xxx

创建空文件:

1
cat > filename

将几个文件合并为一个文件:

1
cat file1 file2 > file

清空文件:

1
cat /dev/null > textfile2

man

你可以使用man命令来查看各个命令的使用文档,如:

1
man cp

netstat

查看网络监听状态

1
netstat -natp

>>

公钥ssh登录

history

查看某个命令

1
history|grep xxx

tail

通过行号查看的一些方法:

1
2
3
4
5
6
7
8
# 显示行数可以不用n
tail -10 xxx.log
# 查询日志尾部最后10行的日志
tail -n 10 test.log
# 查询10行之后的所有日志
tail -n +10 test.log
# 循环实时查看最后1000行记录(最常用的)
tail -fn 10 test.log

可以只抓取刚刚刷新的指定行数,而不滚动去刷新:

1
tail -q -n 100 /opt/app/nginx-1.19.2/logs/access.log

可以结合grep只实时抓取想要的日志:

1
2
3
tail -n 1000 /opt/app/nginx-1.19.2/logs/access.log |grep 'XXX'
tail -f /opt/app/nginx-1.19.2/logs/access.log |grep 'XXX'
tail -fn 1000 test.log | grep 'XXX'

可以结合less一起查看日志:

1
tail -5000 /opt/app/nginx-1.19.2/logs/access.log |less

crontab

清空日志

1
2
3
4
5
第一种:cat /dev/null > filename
第二种:: > filename
第三种:> filename
第四种:echo "" > filename
第五种:echo > filename

sh

可以用sh命令执行脚本

1
sh xxx.sh

解压缩

gz

1
gzip -d xxx.gz

各个目录作用

1、/ 根目录 ——— 所有目录挂在其下
2、/boot ——— 存放Ubuntu内核和系统启动文件。系统启动时这些文件先被装载。
3、/etc ——— 系统的配置文件目录。密码文件、设置网卡信息、环境变量的设置等都在此目录中,许多网络配置文件也在其中。
4、/lib ——— 根文件系统目录下程序和核心模块的共享库。这个目录里存放着系统最基本的动态链接共享库,类似于Windows下的system32目录,几乎所有的应用程序都需要用到这些共享库。
5、/media ——— 主要用于挂载多媒体设备。ubuntu系统自动挂载的光驱、usb设备,存放临时读入的文件。
6、/proc ——— 这个目录是系统内存的映射,我们可以直接访问这个目录来获取系统信息。也就是说,这个目录的内容不在硬盘上而是在内存里。
7、/sbin   ——— s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序,如系统管理、目录查询等关键命令文件。
8、/tmp ——— 这个目录是用来存放一些临时文件的,所有用户对此目录都有读写权限。
9、/home  ——— 用户的主目录。下面是自己定义的用户名的文件夹。每个用户的设置文件,用户的桌面文件夹,还有用户的数据都放在这里。
10、/mnt   ——— 此目录主要是作为挂载点使用。通常包括系统引导后被挂载的文件系统的挂载点。如挂载Windows下的某个分区。
11、/root ——— 系统管理员(超级用户),即根用户的主目录。
12、/srv  ——— 存储系统提供的服务数据。
13、/usr ——— 包括与系统用户直接有关的文件和目录。
/usr/X11R6    存放X-Windows的目录;
/usr/games   存放着XteamLinux自带的小游戏;
/usr/bin     用户和管理员的标准命令;
/usr/sbin     存放root超级用户使用的管理程序;
/usr/doc      Linux技术文档;
/usr/include   来存放Linux下开发和编译应用程序所需要的头文件,for c 或者c++;
/usr/lib      应用程序和程序包的连接库;
/usr/local     系统管理员安装的应用程序目录;
/usr/man     帮助文档所在的目录;
/usr/src     Linux开放的源代码;
/usr/share   用于存放一些共享的数据,比如音乐文件或者图标等等
14、/var   ——— 用于存放很多不断变化的文件,例如日志文件等。包含了日志文件、计划性任务和邮件等内容。
/var/cache 应用程序缓存目录;
/var/crash 系统错误信息;
/var/games 游戏数据;
/var/log 日志文件;
/var/mail 电子邮件;
/var/tmp 临时文件目录;
15、/bin  ———bin是binary的缩写。这个目录沿袭了UNIX系统的结构,存放着使用者最经常使用的命令。例如cp、ls、cat,等等。
————————————————
版权声明:本文为CSDN博主「王立平的博客」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_37131111/article/details/82082630