我的linux筆記-持續更新

df -h
whereis java

/usr: 系统级的目录,可以理解为C:/Windows/;/usr/bin 存放应用程序;/usr/share 存放共享数据,/usr/lib 存放不能直接运行的,却是许多程序运行所必需的一些函数库文件,可以理解为C:/Windows/System32
*比如Java的安装目录,我会放在这里。

/usr/local:用户级的程序目录,可以理解为C:/Progrem Files/。
用户自己编译的软件默认会安装到这个目录下。
*比如Hadoop,Tomcat的安装目录我一般会放在/usr/目录下

/opt:给主机额外安装软件所摆放的目录。用户级的程序目录,可以理解为D:/Software,opt有可选的意思,这里可以用于放置第三方大型软件(或游戏),当你不需要时,直接rm -rf掉即可。在硬盘容量不够时,也可将/opt单独挂载到其他磁盘上使用。
*比如临时上传到Linux里的软件;tar.gz rpm等文件,用作软件仓库。

Q:解決問題Failed to connect to newly launched supervisor. Agent will exit
    netstat -tupnl |grep 19001  
    You will get result like this:

    tcp   0   0    127.0.0.1:19001   0.0.0.0:*    LISTEN   4833/python
    4833 is Supervisor process id. Kill the process and restart the cloudera agent.

    kill -9 4833
    service cloudera-scm-agent restart

Linux 停端口:
    iptables -A INPUT -p tcp --dport 5901 -j DROP

查看内存使用情况:
    free : 显示系统可用内存以及已经使用的内存的信息
    ps: 查看进程信息,静态,即当前状态
    top: 查看进程信息,动态
    pstree: 查看进程树
    pmap: 根据进程ID查看进程信息

将压缩文件test.zip在指定目录/tmp下解压缩,如果已有相同的文件存在,要求unzip命令覆盖原先的文件。
unzip -o test.zip -d tmp/

----查看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

#使用free命令查看内存使用
free -m
#使用/proc/meminfo查看内存大小
//查看内存总量大小(GB)
cat /proc/meminfo | grep -i memtotal | awk -F " " '{print $2/1024/1024 "GB"}'
//查看剩余内存大小(KB)
cat /proc/meminfo | grep -i memfree | awk -F " " '{print $2 "KB"}'
#查看内存条数
//内存条大小
dmidecode |grep -A16 "Memory Device$"|grep -i "size"|grep -iv "No module installed"
//剩余空内存插槽个数
dmidecode |grep -A16 "Memory Device$"|grep -i "size"|grep -i "No module installed"|wc -l

或者:
[root@ZK-BI-VM03 ~]# grep "model name" /proc/cpuinfo
model name    : Intel(R) Xeon(R) CPU           E5649  @ 2.53GHz
model name    : Intel(R) Xeon(R) CPU           E5649  @ 2.53GHz
model name    : Intel(R) Xeon(R) CPU           E5649  @ 2.53GHz
model name    : Intel(R) Xeon(R) CPU           E5649  @ 2.53GHz
model name    : Intel(R) Xeon(R) CPU           E5649  @ 2.53GHz
model name    : Intel(R) Xeon(R) CPU           E5649  @ 2.53GHz
model name    : Intel(R) Xeon(R) CPU           E5649  @ 2.53GHz
...

uname -a # 查看内核/操作系统/CPU信息(含x86_64表示32位机器,i686表示32位机器)
head -n 1 /etc/issue # 查看操作系统版本,是数字1不是字母L
cat /proc/cpuinfo # 查看CPU信息的linux系统信息命令
hostname # 查看计算机名的linux系统信息命令
lspci -tv # 列出所有PCI设备
lsusb -tv # 列出所有USB设备的linux系统信息命令
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 # 查看防火墙设置
route -n # 查看路由表
netstat -lntp # 查看所有监听端口
netstat -antp # 查看所有已经建立的连接
netstat -s # 查看网络统计信息进程
ps -ef # 查看所有进程
top # 实时显示进程状态用户
w # 查看活动用户
id # 查看指定用户信息
last # 查看用户登录日志
cut -d: -f1 /etc/passwd # 查看系统所有用户
cut -d: -f1 /etc/group # 查看系统所有组
crontab -l # 查看当前用户的计划任务服务
chkconfig –list # 列出所有系统服务
chkconfig –list | grep on # 列出所有启动的系统服务程序
rpm -qa # 查看所有安装的软件包
cat /proc/cpuinfo :查看CPU相关参数的linux系统命令
cat /proc/partitions :查看linux硬盘和分区信息的系统信息命令
cat /proc/meminfo :查看linux系统内存信息的linux系统命令
cat /proc/version :查看版本,类似uname -r
cat /proc/ioports :查看设备io端口
cat /proc/interrupts :查看中断
cat /proc/pci :查看pci设备的信息
cat /proc/swaps :查看所有swap分区的信息 

--------------


vim多行删除
1.首先在命令模式下,输入“:set nu”显示行号; 2.通过行号确定你要删除的行; 3.命令输入“:32,65d”,回车键,32-65行就被删除了,很快捷吧
如果无意中删除错了,可以使用‘u’键恢复(命令模式下)
vim单行删除
光标所在行,dd

rsync用法:
源目錄最後有/,則為同步兩個文件夾,如:
rsync -r /usr/local/soft/hbase-2.2.0/conf/ ZK-BI-VM02:/usr/local/soft/hbase-2.2.0/conf  
源目錄最後沒有/,則源目錄最為目標目錄的子目錄,如
rsync -r /usr/local/soft/hbase-2.2.0/conf ZK-BI-VM02:/usr/local/soft/hbase-2.2.0/conf  

ss -lnp | grep 16020 | awk -F '=' '{print $2}'

ss -lnp | grep 10000 | awk -v head="pid=" -v tail=",fd" '{print substr($0, index($0,head)+length(head),index($0,tail)-index($0,head)-length(head))}' |xargs kill -9
---------ls
由大到小排序

ls -Sl
从小到大排序

ls -Slr
-h,表示”–human-readable”,单位是k或者M ,比较容易看清楚结果。

显示子目录结构

ls -R
附:ls按时间排序

ls -lt 从新到旧
ls -lrt 从旧到新
實際使用:
    ls -lha 
    ls -Slh
從大到小排名前10的文件列表:
    ll -Sh | head -n 10
--------ls

Q:查找本文件夾的文件並拷貝:
    find . -name "azkaban*.tar.gz" -type f |xargs -i cp {} /usr/local/soft/azkaban/;

Q: tar 壓縮文件夾:
    壓縮:tar -zcvf /home/xahot.tar.gz /xahot
    解壓: tar zxvf

Tips: Linux LVM 磁區 可擴大縮小容量,可新增硬盤。

----
1、查看内存槽数、那个槽位插了内存,大小是多少

dmidecode|grep -P -A5 "Memory\s+Device"|grep Size|grep -v Range

2、查看最大支持内存数

dmidecode|grep -P 'Maximum\s+Capacity'

3、查看槽位上内存的速率,没插就是unknown。

dmidecode|grep -A16 "Memory Device"|grep 'Speed'
----
关于Raid0,Raid1,Raid5,Raid10的总结
RAID0: 一份數據分三份,寫到3塊硬盤上,同時讀寫,這樣讀寫速度都很快,無冗餘數據,缺點就是磁盤損壞數據無法恢復。

RAID1:一份數據同時寫入到兩塊硬盤,1塊作為熱備份,同時寫入,因為要對比數據,所以寫入慢;數據繁忙時,另一塊也可以讀取,所以可提高讀取性能;安全性高;缺點,成本高

RAID5: 是RAID1 和RAID0的折中方案,用一個磁盤作奇偶校驗,讀寫性能一般,可用磁盤N-1,常用方案。

RAID10: 是RAID 1+0,是 兩個RAID1,組成1個RAID0,可靠性高,讀取性能好,磁盤可用一半。


du -h --max-depth=1

--
使用hostnamectl永久修改主机名

# hostnamectl set-hostname --static ZK-BI-HDP01

# ctrl + D          // 重新登陆操作系统   

# hostname          // 重启后,也不消失

--
修改root 密碼:
    passwd

--
腳本在遠程主機運行時,環境變量不生效,則需配置~/.bashrc ,寫入相關變量即可。
--
查找目录下的所有文件中是否含有某个字符串

find .|xargs grep -ri "IBM" 
查找目录下的所有文件中是否含有某个字符串,并且只打印出文件名

find .|xargs grep -ri "IBM" -l 
--
查找本目錄包括子目錄下所有tar.gz文件:
find | grep tar.gz

--
打开extglob模式
shopt -s extglob
刪除除了file1 file2的所有文件
rm -rf !(file1|file2)
在/usr/local/soft目錄下:rm -rf !(azkaban) 

rsync -av --exclude  test1/ --exlclude test2/  ../test/  /home/copydir
以上,便可将/home/study/test目录中,除test1和test2目录外,其他所有的文件和文件夹copy到/home/copydir

--
查看個/下目錄大小
du -h / --max-depth 1
--
在top 命令执行过程中可以使用的一些交互命令。这些命令都是单字母的,如果在命令行中使用了s 选项, 其中一些命令可能会被屏蔽。
1 cpu信息
h 显示帮助画面,给出一些简短的命令总结说明
k 终止一个进程。
i 忽略闲置和僵死进程。这是一个开关式命令。
q 退出程序
r 重新安排一个进程的优先级别
S 切换到累计模式
s 改变两次刷新之间的延迟时间(单位为s),如果有小数,就换算成m s。输入0值则系统将不断刷新,默认值是5 s
f或者F 从当前显示中添加或者删除项目
o或者O 改变显示项目的顺序
l 切换显示平均负载和启动时间信息
m 切换显示内存信息
t 切换显示进程和CPU状态信息
c 切换显示命令名称和完整命令行
M 根据驻留内存大小进行排序
P 根据CPU使用百分比大小进行排序
T 根据时间/累计时间进行排序
W 将当前设置写入~/.toprc文件中 

--
centos 8 
重啟網絡: 
nmcli c reload ifcfg-eth0
nmcli c up eth0

--
tar zcvf 237.tar.gz / --exclude /data --exclude /lihao --exclude /opt --exclude /proc --exclude /home --exclude /root
--
cat /etc/redhat-release
CentOS Linux release 7.7.1908 (Core)

--
ls */build/distributions/*
mkdir -p /opt/cloudera/azkaban/software
scp */build/distributions/*.tar.gz /opt/cloudera/azkaban/software
ll /opt/cloudera/azkaban/software

--
tree -L 2 ./plugins/viewer

--
ls /usr
if [ $? -eq 0 ]; then
    echo "succeed"
else
    echo "failed"
fi
--

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值