常用的指令

本文汇总了一系列Linux常用命令,包括文件操作、进程管理、环境配置等,帮助读者快速掌握Linux系统的日常管理和开发技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Pretty Json

ctrl+alt+j

Linux

# 在当前文件夹中查找后缀为txt的文件
find . -name "*.txt"
# 程序后台运行
nohup python test.py &

# 创建文件file
vi file
touch file

# 创建目录
mkdir -p 目录

# 删除XX,XX可以是文件或文件夹
rm -rf XX

# 把文件a.txt重命名为b.txt
mv a.txt b.txt

# 设置DJBlockchain.pem文件的权限为600
chmod 600 DJBlockchian.pem

# 查看目录以下以DJ开头的文件,并得到它的权限信息
ls -al DJ*

# 查看隐藏文件
ls -ah

# 把当前目录的文件夹helloworld移动到当前目录的文件夹ch1下
mv helloworld ch1

# root权限初始密码
sudo passwd root

# 获取网卡的Mac地址
ifconfig

# 编译test.cpp文件且命名为test,运行可执行文件test
g++ test.cpp -o test
./test

# 显示与playground有关的进程
ps -ef|grep playground

linux1   15094     1  0 01:25 ?        00:00:00 node /data/npm/bin/composer-playground
linux1   15987 15531  0 01:30 pts/1    00:00:00 grep --color=auto playground

每个字段的含义:
http://blog.youkuaiyun.com/sinat_24928447/article/details/49869199

# 设置环境变量,只在本次登录中有效
# export [-fnp][变量名称]=[变量设置值]
export NODE_ID=3000
# 输出上述环境变量
echo $NODE_ID

# 复制
cp [选项] 源文件或目录 目标文件或目录 

# 获取当前目录
pwd

# 通过crontab 命令,我们可以在固定的间隔时间执行指定的系统指令或 shell script脚本。时间间隔的单位可以是分钟、小时、日、月、周及以上的任意组合。
# 这个命令非常适合周期性的日志分析或数据备份等工作。
# http://linuxtools-rst.readthedocs.io/zh_CN/latest/tool/crontab.html
crontab [-u user] file 
crontab [-u user] [ -e | -l | -r ]

# 把文件输出至terminal
cat filename

# 添加目录/blockchain/cpplibs/build/_install/bin至系统路径
export PATH=/blockchain/cpplibs/build/_install/bin:$PATH
# 下载.tar.gz,然后解压
wget <url>
tar xvf <filename>.tar.gz
# 压缩
tar zcvf <filename>.tar.gz <dir>
# 查询系统安装了哪些软件包(与nginx相关的)
rpm -qa | grep nginx
# 查看nginx软件包,安装了哪些文件
rpm -ql nginx
# 查看进程使用端口号
sudo netstat -ntlp
# 查看进程情况2 |
ps -ef | grep 'nginx'
ps aux | grep 'nginx'
# 查看进程挂载的文件
lsof -p <pid>
# 查看日志输出
tail -f <file>
#####################################################################
PID:进程的ID
USER:进程所有者
PR:进程的优先级别,越小越优先被执行
NInice:值
VIRT:进程占用的虚拟内存
RES:进程占用的物理内存
SHR:进程使用的共享内存
S:进程的状态。S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值为负数
%CPU:进程占用CPU的使用率
%MEM:进程使用的物理内存和总内存的百分比
TIME+:该进程启动后占用的总的CPU时间,即占用CPU使用时间的累加值。
COMMAND:进程启动命令名称
#####################################################################
# 查看CPU/内存等占用
# 按1展开
top
top -Hp <pid>

# CPU信息
# 总核数 = 物理CPU个数 X 每颗物理CPU的核数 
# 总逻辑CPU数 = 物理CPU个数 X 每颗物理CPU的核数 X 超线程数

# 查看物理CPU个数
cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l

# 查看每个物理CPU中core的个数(即核数)
cat /proc/cpuinfo| grep "cpu cores"| uniq

# 查看逻辑CPU的个数
cat /proc/cpuinfo| grep "processor"| wc -l

# 查看CPU信息(型号)
cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c

# 内存信息
cat /proc/meminfo
# 查看进程占用的内存
#####################################################################
mapped 表示该进程映射的虚拟地址空间大小,也就是该进程预先分配的虚拟内存大小,即ps出的vsz
writeable/private 表示进程所占用的私有地址空间大小,也就是该进程实际使用的内存大小
shared 表示进程和其他进程共享的内存大小
VSZ    进程所使用的虚存的大小(Virtual Size)。/ VIRT
RSS    进程使用的驻留集大小或者是实际内存的大小,Kbytes字节(Resident Set Size)。/ RES( resident)
#####################################################################
pmap -d <pid>
# 循环显示进程3066的设备格式的最后1行,间隔2秒
while true; do pmap -d 3066 | tail -1; sleep 2; done
# 设置系统环境变量
vim /etc/profile
vim ~/.profile
vim ~/.zshrc

# export JAVA_HOME=/usr/java/jdk-10.0.2
# export CMAKE_HOME=/home/shuanghua/make3/cmake-3.12.0-rc2-Linux-x86_64
# export PATH=${JAVA_HOME}/bin:${CMAKE_HOME}/bin:$PATH

source /etc/profile
source ~/.profile
source ~/.zshrc

# SCP
#将本地的nginx.tar 拷贝到服务器上的/root/docker-images目录
scp nginx.tar root@192.168.253.112:/root/docker-images
#将远程的test.txt文件拷贝到本地目录的dou2.txt文件
scp root@192.168.253.112:/root/docker-images/dou/test.txt dou2.txt
#将本地文件夹下面的dou文件夹拷贝到服务器上
scp -r ./dou/ root@192.168.253.112:/root/docker-images
#拷贝远程服务器的文件夹dou到本地目录下./test2文件夹
scp -r root@192.168.253.112:/root/docker-images/dou/ ./test2/

# 查看ip:port是否被占用
telnet <ip> <port>

# 下载东西
wget <url>

# 查看机器的内网IP/公网IP
############################
120.55.39.189() 10.81.81.49()
我们使⽤if config -a可以得知机器的⽹络情况,易知eth0对应内⽹IP,eth1对应公⽹IP,lo对应本地IP,docker0为docker安装的时候⾃动⽣成,主要起宿主与容器间的桥接作⽤。
############################
ifconfig -a
-------------------------------------------------------------------------------------------------------------------
docker0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
			inet 192.168.0.1 netmask 255.255.240.0 broadcast 0.0.0.0
			ether 02:42:69:78:89:2a txqueuelen 0 (Ethernet)
			RX packets 0 bytes 0 (0.0 B)
			RX errors 0 dropped 0 overruns 0 frame 0
			TX packets 0 bytes 0 (0.0 B)
			TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
			inet 10.81.81.49 netmask 255.255.254.0 broadcast 10.81.81.255
			ether 00:16:3e:11:d3:b1 txqueuelen 1000 (Ethernet)
			RX packets 156153 bytes 101737525 (97.0 MiB)
			RX errors 0 dropped 0 overruns 0 frame 0
			TX packets 226137 bytes 207068089 (197.4 MiB)
			TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
eth1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
			inet 120.55.39.189 netmask 255.255.252.0 broadcast 120.55.39.255
			ether 00:16:3e:0e:2e:d4 txqueuelen 1000 (Ethernet)
			RX packets 1262429 bytes 253429746 (241.6 MiB)
			RX errors 0 dropped 0 overruns 0 frame 0
			TX packets 671815 bytes 52669897 (50.2 MiB)
			TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
		inet 127.0.0.1 netmask 255.0.0.0
		loop txqueuelen 0 (Local Loopback)
		RX packets 48 bytes 14490 (14.1 KiB)
		RX errors 0 dropped 0 overruns 0 frame 0
		TX packets 48 bytes 14490 (14.1 KiB)
		TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
-----------------------------------------------------------------------------------------------------------
# 关闭⽹络docker0,并重启
ifconfig docker0 down
service network restart

知识补充:
当docker启动时,它会在宿主机器上创建⼀个名为docker0的虚拟⽹络接⼝。它会从RFC 1918定义的私有地址中随机选择⼀个主机不⽤的地址和⼦⽹掩码,并将它分配给docker0

# 磁盘信息查看磁盘信息
fdisk -l

iostat -x 10    查看磁盘IO的性能

# 当前目录树状图
sudo apt install tree
tree .

GDB

当⽬录中有core⽂件的时候,可以查看core在什么地⽅

ulimit -c unlimited
ulinmit
gdb <app_name> core
# bt 为 bad trace
(gdb) bt

Pip

# 1. 使用pip安装python包
# 不同版本:前面加python版本号 -m 
# 如:python3 -m pip install Django==1.10.7
pip install SomePackage            # latest version
pip install SomePackage==1.0.4     # specificversion
pip install 'SomePackage>=1.0.4'   #minimum version

# 2. pip查看已安装的包
# 查看指定的安装包信息
pip show packagename

# 列出所有的安装包
pip list

# 3. pip检测更新
pip list –outdated

# 4. pip升级包
pip install --upgrade packagename

# 5. pip卸载包
pip uninstall packagename

Terminal

Shift+Ctrl+T:新建标签页
Shift+Ctrl+W:关闭标签页
Ctrl+PageUp:前一标签页
Ctrl+PageDown:后一标签页
Shift+Ctrl+PageUp:标签页左移
Shift+Ctrl+PageDown:标签页右移
Alt+1:切换到标签页1
Alt+2:切换到标签页2
Alt+3:切换到标签页3
Shift+Ctrl+N:新建窗口
Shift+Ctrl+Q:关闭终端

终端中的复制/粘贴:
Shift+Ctrl+C:复制
Shift+Ctrl+V:粘贴

终端改变大小:
F11:全屏
Ctrl+plus:放大
Ctrl+minus:减小
Ctrl+0:原始大小

Vim

不保存退出	
:q!

保存退出		
:wq

查找
/keyword

这里写图片描述

插件

vim的项目管理插件

Docker

# 列出当前所有正在运行的container  
docker ps  
# 列出所有的container  
docker ps -a  
# 列出最近一次启动的container  
docker ps -l  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值