Linux

1、Linux查询文件中的关键字
cat xxx.log | grep 关键字

2、vim下输入set number显示行号
输入set nonumber不显示行号

3、vi/vim下如何搜索字符串
比如搜索user, 输入/user

4、SecureCRT 中文显示乱码


image.png

5、ps -ef|grep详解:(https://my.oschina.net/u/4344016/blog/3833682)
以下这条命令是检查java 进程是否存在:ps -ef |grep java

字段含义如下:
UID PID PPID C STIME TTY TIME CMD
zzw 14124 13991 0 00:38 pts/0 00:00:00 grep --color=auto dae

UID :程序被该 UID 所拥有
PID :就是这个程序的 ID
PPID :则是其上级父程序的ID
C :CPU使用的资源百分比
STIME :系统启动时间
TTY :登入者的终端机位置
TIME :使用掉的CPU时间。
CMD :所下达的是什么指令

A

显示所有进程

-N

显示与指定参数不符的所有进程

-a

显示除控制进程和无终端进程外的所有进程

-d

显示除控制进程外的所有进程

-e

显示所有进程

-C cmdlist

显示包含在 cmdlist 列表中的进程

-f

显示完整格式的输出

6、Linux 查看内存大小:free -m

7、
0移动到行首
$移动到行末

8、Shell 返回值之 PIPESTATUS
https://blog.csdn.net/dssxk/article/details/8088386
BASH SHELL中,通常使用 ?只能获取管道中最后一条命令的返回码,例如
下面的例子中/not/a/valid/filename是一个不存在的文件
cat /not/a/valid/filename|cat
第一个cat失败,第二个cat成功,所以PIPESTATUS来获取管道中每个命令的返回码。

注意:
1、PIPESTATUS 是一个数组,第一条命令的返回码存储在${PIPESTATUS[0]},以此类推,上例中执行完管道中所有的命令后,PIPESTATUS数组第一个元素值为1,第二个元素值为0

2、如果前一条命令不是一个管道,而是一个单独的命令,命令的返回码存储为{PIPESTATUS[0]}同?的值相同)

3、每执行一条命令,切记PIPESTATUS都会更新其值为上一条命令的返回码,
cat /not/a/valid/filename|cat
if [ {PIPESTATUS[@]}; fi

  上例中执行完管道后,${PIPESTATUS[0]}值为1,${PIPESTATUS[1]}值为0
  但是上面的脚本执行完成后,输出为0,这是因为if 分支的测试命令值为真,然后 PIPESTATUS[0]的值此时被置为0。应当在命令执行完成后立即在同一个测试命令中对所有值进行测试,例如 
  if [ ${PIPESTATUS[0]} -eq 1 -a ${PIPESTATUS[1]} -eq 0 ] ; then echo something; fi

或者先将{PIPESTATUS[@]};

9、Linux 里的 2>&1 究竟是什么
https://blog.csdn.net/liupeifeng3514/article/details/79711694

几个基本符号及其含义:

/dev/null 表示空设备文件;
0 表示stdin标准输入;
1 表示stdout标准输出;
2 表示stderr标准错误。

10、要以覆盖方式解压ab.zip文件,可以这样
$ ls ab
.zip | xargs -n1 unzip -o
其中这里的-n1是数字的1,不是字母l。

11、ls -l | wc -l 列出有多少个文件

12、
cp -r dir1 dir2 表示将dir1及其dir1下所包含的文件复制到dir2下

13、scp命令(https://www.cnblogs.com/fly-xiang-zhao/p/4056855.html)
将本机文件复制到远程服务器上
scp /home/administrator/news.txt [email protected]:/etc/squid

目录拷贝要加 -r ,scp -r xxxxxxxxx

/home/administrator/ 本地文件的绝对路径
news.txt 要复制到服务器上的本地文件
root 通过root用户登录到远程服务器(也可以使用其他拥有同等权限的用户)
192.168.6.129 远程服务器的ip地址(也可以使用域名或机器名)
/etc/squid 将本地文件复制到位于远程服务器上的路径

14、shell中“.” 和 “./”执行的区别
https://blog.csdn.net/u014471752/article/details/84565908

15、Vim快速清空文件内容

进入文件编辑模式

gg

进入行首

dG

16、# [shell脚本实现取当前时间]
2018.09.30

!bin/bash

time4=$(date "+%Y.%m.%d")

echo $time4

前一天时间
(date -d last-day +%Y-%m-%d)或者
$(date -d "1 days ago" +%Y-%m-%d)

17、自测:
kerberos认证在CRT中只在当前回话有效,克隆回话无效

18、
echo "{url}" #双引号包围的字符串中可以解析变量
echo '{url}' #单引号包围的字符串中不能解析变量

19、查看Linux系统版本的命令(3种方法):
lsb_release -a

20、Linux 软件安装到哪里合适,目录详解
https://blog.csdn.net/qq_15766181/article/details/80755786

Linux 的软件安装目录是也是有讲究的,理解这一点,在对系统管理是有益的

/usr:系统级的目录,可以理解为C:/Windows/,/usr/lib理解为C:/Windows/System32。
/usr/local:用户级的程序目录,可以理解为C:/Progrem Files/。用户自己编译的软件默认会安装到这个目录下。
/opt:用户级的程序目录,可以理解为D:/Software,opt有可选的意思,这里可以用于放置第三方大型软件(或游戏),当你不需要时,直接rm -rf掉即可。在硬盘容量不够时,也可将/opt单独挂载到其他磁盘上使用。

源码放哪里?
/usr/src:系统级的源码目录。
/usr/local/src:用户级的源码目录。

21、# linux 查看java的安装路径
whereis java

22、Linux 查看进程运行的完整路径方法
https://blog.csdn.net/kl28978113/article/details/79799183

ll /proc/PID

23、Apache DolphinScheduler 单机部署方案
https://blog.csdn.net/oDaiLiDong/article/details/104495138

24、CRT连接前面出现(base)
conda deactivate

source deactivate

26、Apache DolphinScheduler 单机部署方案
https://blog.csdn.net/oDaiLiDong/article/details/104495138

27、建立软链接
ln -s existingfile newfile

28、centos 查看文件夹总大小
du -h --max-depth=1 /usr/local/

29、验证某个端口号是否被占用
netstat -tunlp | grep 端口号

30、Shell
格式: echo -e "\033[字背景颜色;字体颜色m字符串\033[0m"
https://blog.csdn.net/mao834099514/article/details/53128795

31、# shell的uniq命令

32、shell 清空文件内容

35、查看系统位数,如果显示是x86_64就是64位的,没有结果显示就是32位的
uname -a

36、# LINUX 查看CPU核心数

1.查看CPU个数

cat /proc/cpuinfo |grep "physical id"|sort|uniq|wc -l

2.查看每个物理CPU含有的核心个数

cat /proc/cpuinfo |grep "cpu cores"|uniq|wc -l

3.查看每个CPU核心含有的线程数

cat /proc/cpuinfo |grep "processor"|wc -l

  1. 那么cpu支持的线程数为 cpu数目 * 每个cpu含有的核心数目* 每个核心含有的线程数

37、linux下以M为单位显示文件大小
ls -l --block-size=M
或者: ll -h

38、Linux下如何创建和取消软连接
https://blog.csdn.net/qq_31708763/article/details/82689684

https://www.cnblogs.com/cartsp/p/6437046.html

39、显示操作系统名称
uname -s

40、目录文件权限的查看和修改(详细)
https://blog.51cto.com/zhaoyuqiang/1214718

Linux添加用户(user)到用户组(group)
https://blog.csdn.net/weixin_41282397/article/details/81113014

41、普通用户如何设置免密码ssh到另一台服务器
https://www.cnblogs.com/activiti/p/13759007.html

42、故障-bash-4.1$ 的解决
https://blog.csdn.net/qq_40907977/article/details/80794954

cp /etc/skel/.bash* ~

43、解决SSH远程执行命令找不到环境变量的问题
https://blog.csdn.net/sunxiaopengsun/article/details/82461338

44、Linux系统 /dev/mapper/VolGroup-lv_root 100% 解决方案
1、df -h
2、du -h --max-depth=1 /usr/local/
3、find . -type f -size +500M

linux下以M为单位显示文件大小
ls -l --block-size=M

使用G、M等来显示大文件
ls -alh

45、磁盘空间管理
https://blog.51cto.com/13805636/2310060
https://www.cnblogs.com/jhxxb/p/11157315.html
https://www.cnblogs.com/herui1991/p/12052967.html
https://www.cnblogs.com/piaoyang2087/articles/6829225.html
https://blog.51cto.com/yueyue207/2072255

lsblk
fdisk -l
fdisk /dev/sd*

数据盘支持创建GPT分区和MBR分区,二者区别如下:
GPT:能够识别大于2 TiB的分区,创建分区数量无限制。
MBR:只能识别小于或等于2 TiB的分区,最多创建4个分区。

GPT扩容:
https://www.jb51.net/article/108185.htm
https://blog.csdn.net/wengtf/article/details/40398959
https://www.taterli.com/5468/
https://www.cnblogs.com/liujian001/p/11270290.html

46、主分区、扩展分区和逻辑分区的概念
https://blog.csdn.net/weixin_42859280/article/details/86420302
https://www.cnblogs.com/w-wfy/p/8870598.html

一个硬盘主分区至少有1个,最多4个,扩展分区可以没有,最多1个。且主分区+扩展分区总共不能超过4个。逻辑分区可以有若干个。
分出主分区后,其余的部分可以分成扩展分区,一般是剩下的部分全部分成扩展分区,也可以不全分,剩下的部分就浪费了。
扩展分区不能直接使用,必须分成若干逻辑分区。所有的逻辑分区都是扩展分区的一部分。   硬盘的容量=主分区的容量+扩展分区的容量;   扩展分区的容量=各个逻辑分区的容量之和。

47、linux下磁盘分区详解(https://www.cnblogs.com/yhaing/p/8706697.html)
linux下硬盘设备名为(IDE硬盘为hdx(x为从a—d)因为IDE硬盘最多四个,SCSI,SATA,USB硬盘为sdx(x为a—z)),硬盘主分区最多为4个

48、# lsblk命令详解
https://man.comptechs.cn/lsblk.html

49、将分区挂载到目录
mount /dev/sdb1 /data/

linux中挂载硬盘报错(you must specify the filesystem type)

mkfs.ext4 /dev/sdb

50、硬盘分区,什么是GPT模式
https://zhidao.baidu.com/question/181569632352302724.html

它有两种分区方案:MBR分区表、GPT分区表
1,MBR分区表:主引导记录(MBR,Main Boot Record)

传统的分区方案(称为MBR分区方案)是将分区信息保存到磁盘的第一个扇区(MBR扇区)中的64个字节中,每个分区项占用16个字节,这16个字节中存有活动状态标志、文件系统标识、起止柱面号、磁头号、扇区号、隐含扇区数目(4个字节)、分区总扇区数目(4个字节)等内容。由于MBR扇区只有64个字节用于分区表,所以只能记录4个分区的信息。这就是硬盘主分区数目不能超过4个的原因。后来为了支持更多的分区,引入了扩展分区及逻辑分区的概念。但每个分区项仍用16个字节存储。

另外最关键的是MBR分区方案无法支持超过2TB容量的磁盘。因为这一方案用4个字节存储分区的总扇区数,最大能表示2的32次方的扇区个数,按每扇区512字节计算,每个分区最大不能超过2TB。磁盘容量超过2TB以后,分区的起始位置也就无法表示了。由此可见,MBR分区方案已无法满足需要了,于是便有了另外一种方案。

2,GPT分区表:全局唯一标识磁盘分区表(GPT,GUID Partition Table)

这是一种由基于 Itanium 计算机中的可扩展固件接口 (EFI) 使用的磁盘分区架构。与MBR分区方法相比,GPT 具有更多的优点,它允许每个磁盘有多达 128 个分区,支持高达 18 EB的卷大小,允许将主磁盘分区表和备份磁盘分区表用于冗余,还支持唯一的磁盘和分区 ID (GUID)。

与支持最大卷为 2 TB (terabytes) 并且每个磁盘最多有 4 个主分区(或 3 个主分区,1 个扩展分区和无限制的逻辑驱动器)的主启动记录(MBR)磁盘分区的样式相比,GUID分区表 (GPT) 磁盘分区样式支持最大卷为 18 EB (exabytes) (1EB=1024PB、1PB=1024TB),并且每块磁盘最多有 128 个分区。

51、# inux磁盘分区--GPT分区

parted /dev/sdb

52、端口被占用冲突
netstat -alnp | grep 10062

53、如何ping指定IP的端口号
https://www.jianshu.com/p/fbdf744a3fbd

telnet IP PORT
例子:telnet 127.0.0.0 8080
如果该地址或者该端口不可用,命令会立马退出返回。
如果该IP的端口可以联通 ,那么会建立一条TCP连接。
进入连接后,退出的方式为直接输入quit然后回车即可。

54、# linux find查找文件/目录
https://www.cnblogs.com/adolfmc/p/5875214.html

-type 按类型进行查找,d查找目录,f查找文件

find . –type d –name [document]

find . -type f –name [filename]

55、ln -s软链接删除方式及注意事项
https://www.pianshen.com/article/4605256289/

正确的删除方式(删除软链接,但不删除实际数据)
rm -rf ./test_chk_ln

56、dirname与basename
https://blog.51cto.com/2937761/2090137

1、dirname命令去除文件名中的非目录部分,删除最后一个“\”后面的路径,显示父目录。 语法:dirname [选项] 参数
2、basename命令用于打印目录或者文件的基本名称,显示最后的目录名或文件名。语法:basename [选项] 参数

57、:- ,:+的使用](https://www.cnblogs.com/lgj8/p/12427750.html)

file 沒有設定或為空值,則使用my.file.txt 作傳回值。(非空值時不作处理)

58、linux 命令 ls 与 ls -lrt 的区别
https://blog.csdn.net/u011675334/article/details/102573910

1)-l 表示开启长列表输出,打开了就会输出文件权限、引用计数、所有者、所属组、文件大小、修改日期和文件名称这些详细的信息。

2)-t 以时间排序,最新的文件会排在上面。

3)-r 表示反向排序、倒序输出。

59、linux 忘记非root用户密码
https://blog.csdn.net/abc19900828/article/details/40055661
root登陆:
passwd user
new password: xxx
confirm new password:xxx

60、Linux配置免密登录
https://dolphinscheduler.apache.org/zh-cn/docs/1.3.3/user_doc/cluster-deployment.html

在ds1上,切换到部署用户并配置ssh本机免密登录

su dolphinscheduler;

ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
注意:正常设置后,dolphinscheduler用户在执行命令ssh localhost 是不需要再输入密码的

在ds1上,配置部署用户dolphinscheduler ssh打通到其他待部署的机器

su dolphinscheduler;
for ip in ds2 ds3; #请将此处ds2 ds3替换为自己要部署的机器的hostname
do
ssh-copy-id $ip #该操作执行过程中需要手动输入dolphinscheduler用户的密码
done

当然 通过 sshpass -p xxx ssh-copy-id $ip 就可以省去输入密

61、linux安装jdk1.8(rpm方式)
https://blog.csdn.net/zhong12270107/article/details/89762430

————————————————
Linux中配置java环境
https://blog.csdn.net/qq_36119192/article/details/82871807
export JAVA_HOME=/usr/java/jdk1.8.0_20
export JAVA_BIN=/usr/java/jdk1.8.0_20/bin  
export PATH=JAVA_HOME/bin
export CLASSPATH=:JAVA_HOME/lib/tools.jar
export PATH=JRE_HOME/bin:$PATH
————————————————

62、Linux下根据不同用户配置不同java环境变量
https://blog.csdn.net/billxin0621/article/details/101692280

vi ~/.bash_profile
JAVA_HOME=/usr/java/jdk1.8.0_131

PATH=PATH

CLASSPATH=.:JAVA_HOME/lib/tools.jar

export JAVA_HOME

export PATH

export CLASSPATH

63、linux关于bashrc与profile的区别
https://www.jianshu.com/p/9d95e5e736da

/etc/profile,/etc/bashrc 是系统全局环境变量设定
/.profile,/.bashrc用户家目录下的私有环境变量设定

64、如何查看硬盘的分区类型是mbr还是gpt
(https://www.ebaina.com/questions/100000018738)

fdisk -l /dev/sde

出现如下图片中的“WARNING: GPT (GUID Partition Table) detected“,说明当前硬盘是gpt的,否则是mbr的。

/sdX 是你硬盘 的数量,a d e 这样排下去的 。看你几个硬盘

65、tar压缩和解压(https://www.linuxprobe.com/linux-tar.html)
tar -zcvf renwolesshel.tar.gz /renwolesshel

66、more

分屏显示文件内容, 显示后,使用空格显示下一屏, 回车显示下一行,
q 退出分屏显示 ctrl+c,退出命令

67、vi | vim 编辑文件
vim 是增强命令. 不代表所有的 Linux 都支持
vim 增强在有高亮显示

a - append, 追加的方式进入编辑模式
o - under line , 在光标所在位置之下,新增一行,进入编辑模式
O - pre line, 在光标所在位置之上,新增一行, 进入编辑模式

G 光标跳转到文件尾
gg 光标跳转到文件头

68、halt
halt 命令用来关闭正在运行的 Linux 操作系统

69、CentOS8 中默认没有开始网络配置。需要手动开启。
启用 ens33 网络配置。默认只有 ens33

nmcli c up ens33

vim /etc/sysconfig/network-scripts/ifcfg-ens33

先点击键盘的 i 键,左下角出现--insert-- 才能开始进行编辑。
修改最后一行 ONBOOT=yes,表示开启此网卡设置启动。

70、Linux 中文件的压缩与解压缩
1 *.tar.gz 格式 tar.gz 是 Linux 中的一种文件压缩格式,可是使用 tar 命令实现对文件的压缩与解压处理。

1.1
-c: 创建压缩文件
-C: 指定解压文件存放的位置
-x:解压
-t:查看内容
-z:有 gzip 属性的
-v:显示所有过程
-f: 使用文件名字,切记,这个参数是最后一个参数,后面只能接文件名

1.2 创建 tar.gz 压缩文件
tar -czvf 压缩文件的名称.tar.gz 源文件或者目录名称

1.3 解压 tar.gz 文件 tar -zxvf 解压文件名称

2 *.zip 格式
如果压缩文件格式为.zip 那么需要使用 unzip 命令解压.zip 压缩包。

2.1 unzip 参数介绍
-n:解压缩时不要覆盖原有的文件
-d<目录>:指定文件解压缩后所要存储的目录
-v:执行时显示详细的信息;

2.2 解压 zip 文件
unzip 压缩文件.zip

unzip 压缩文件.zip -d 解压到指定目录

71、tmux(https://blog.csdn.net/weixin_42241611/article/details/124557654)
tmux是一个优秀的终端复用软件

1.新建会话
tmux new -s <会话名> :新建一个指定名称的会话,第一个启动的窗口编号是0,第二个窗口编号是1以此类推

3.查看当前所有会话
tmux ls :|快捷键 ctrl + b + s
tmux list-session
4.连接会话
tmux attach -t 0 : 重新连接会话编号为0的会话 前提是存在此会话
tmux attach -t <会话名> : 重新连接会话名为xxx的会话 前提是存在此会话

72、tmux用于恢复远程屏幕(http://t.zoukankan.com/litifeng-p-10284815.html)
  Ctrl + b 激活控制台后在输入“d”  脱离当前会话;这样可以暂时返回Shell界面,输入“tmux a -t 名称”,能够重新进入之前的会话;
  Ctrl + b 激活控制台后在输入“&”  关闭当前所有小窗口,提示确认;
  Ctrl + d 可关闭光标所在得窗口(必须是没有任务运行,方可关闭)
  Ctrl + b 激活控制台后在输入“o”  切换窗口
  Ctrl + b 激活控制台后在输入“t”  在光标处显示时间“q”退去;
  Ctrl + b 激活控制台后在输入“!”  将光标所在得窗口全屏,当eixt推出时会显示剩下得窗口;
  Ctrl + b 激活控制台后在输入“q”  查看窗口编号,直接按相应数字切换;
  Ctrl + b 激活控制台后在输入“s”  通过窗口切换到其他会话;
创建多个窗口操作:
  Ctrl + b 激活控制台后在输入“%”  将当前面板平分为左右两块;
  Ctrl + b 激活控制台后在输入“ ” ”  将当前面板平分为上下两块;
  Ctrl + b 激活控制台后在输入“o”  切换窗口;
  Ctrl + b 激活控制台后 + 方向键  移动光标以选择面板

73、# Ubuntu下解压tar软件包的方法

bz2包的解压方法一:
sudo tar jxvf file.tar.bz2

73、Linux【环境部署 02】yum源镜像下载+挂载镜像+本地yum源配置+局域网yum源服务搭建+局域网yum源使用(一篇学会离线yum源配置)(https://blog.csdn.net/weixin_39168541/article/details/123849376)

74、Linux修改系统时间(手动/自动同步)(https://blog.csdn.net/qq_39715000/article/details/120730694)
date -s "完整日期时间(YYYY-MM-DD hh:mm:ss)"

75、linux定时执行脚本(https://blog.csdn.net/qq_39542597/article/details/126336395)

vim /etc/crontab
crontab /etc/crontab

*/1 * * * * /home/aaron/anaconda3/envs/polish/bin/python /home/aaron/polish_main/main_process.py

crontab -l

76、tmux的常用命令(https://www.cnblogs.com/shenStudy/p/16773954.html)
分离会话
tmux detach :当前会话与窗口分离,会话仍会在后台运行 |快捷键 ctrl + b + d
查看当前所有会话
tmux ls
进入会话:tmux a -t 0/1/2

77、liunx查看定时任务日志(https://blog.csdn.net/jhg121361843/article/details/123188325)

tail -f cron

78、

你可能感兴趣的:(Linux)