Linux零散笔记收录
- 常用命令
- 常用功能
- 批量创建linux用户
- 在文件指定行插入字段
- 外层用xz解压方式解压,,然后里层用tar解压方式解压
- 免密登录
- 查看某个文件下各个文件占据的数据大小
- Linux 查看版本cat /proc/version
- Linux查看某个服务或者软件是否已经安装
- linux查找所有日志log文件&并按从大到小排序&按M或G为单位显示
- Linux系统中如何查找大文件或文件夹的方法
- linux统计文件夹下文件个数以及目录个数
- 文件共享:Samba or NFS
- 免密sudo配置
- 磁盘挂载与删除
- linux环境变量
- 配置IP
- linux增加用户组、删除用户组操作以及常见的组操作
- 安装yum
- 安装jdk
- 安装expect
- 安装cntlm
- NFS共享存储文件系统
- 常见问题
常用命令
source
https://blog.csdn.net/weixin_38370441/article/details/110094936
防火墙firewall常用命令
https://blog.csdn.net/weixin_38370441/article/details/110088036
vim
https://blog.csdn.net/weixin_38370441/article/details/110087801
以另一个用户的身份执行shell命令:su、sudo、runuser
参考:https://www.cnblogs.com/bodhitree/p/6018369.html
tee
https://www.cnblogs.com/jiqianqian/p/7932027.html
history
https://blog.csdn.net/u011441473/article/details/80528800
zip压缩
https://www.cnblogs.com/wangkongming/p/4305962.html
查询占用端口号的进程
lsof -i:port netstat -nlp|grep:port ps -ef|grep port
https://www.cnblogs.com/alsodzy/p/8522710.html
$符号的常见用法
https://blog.csdn.net/weixin_37766087/article/details/99974385
$0:就是该bash文件名,个位数的,可直接使用数字,但两位数以上,则必须使用 {} 符号来括住,如${10}.
$?:是上一指令的返回值,成功是0,不成功是1。一般来说,UNIX(linux) 系统的进程以执行系统调用exit() 来结束的。这个回传值就是status值。回传给父进程,用来检查子进程的执行状态。一般指令程序倘若执行成功,其回传值为 0;失败为 1。
$*:所有脚本参数的内容:就是调用调用本bash shell的参数。
$@:基本上与上面相同。只不过是“$*”返回的是一个字符串,字符串中存在多外空格。 “$@”返回多个字符串。
$#:返回所有脚本参数的个数。
$$ :Shell本身的PID(ProcessID),即当前进程的PID。
$! :Shell最后运行的后台Process的PID
$- :使用Set命令设定的Flag一览
$() = ``
$@列出了所有的参数,即 -o localhost -N myname -l ……
Linux—shell中 ( ( ) ) 、 (( ))、 (())、( )、``与${ }的区别
https://www.cnblogs.com/chengd/p/7803664.html
md5sum
md5sum file
linux中的-a到-z的意思
https://blog.csdn.net/qq_37699336/article/details/80879531
awk
awk范例:
https://www.cnblogs.com/miaoxg/p/5878959.html
https://www.cnblogs.com/wangqiguo/p/5863266.html#_label9
awk数组使用范例:
https://www.cnblogs.com/mfryf/p/3640204.html
其他参考:
https://recomm.cnblogs.com/blogpost/1846190
scp
scp local_file remote_username@remote_ip:remote_file
Linux中的定时自动执行功能(at,crontab)
https://blog.csdn.net/sunbocong/article/details/77883797
tar包等压缩与解压
https://www.cnblogs.com/wangluochong/p/7194037.html
https://www.cnblogs.com/Alan-Jones/p/7488179.html
tar -zxvf /bbs.tar.zip -C /zzz/bbs
tar -xvf /bbs.tar.zip -C /zzz/bbs
unzip
https://www.cnblogs.com/yongdaimi/p/9772158.html
常用功能
批量创建linux用户
https://blog.csdn.net/cha21199/article/details/100949548
在文件指定行插入字段
https://blog.csdn.net/liuchen180126/article/details/55006023
外层用xz解压方式解压,,然后里层用tar解压方式解压
$ xz -d *****.tar.xz
$ tar -xvf *****.tar
免密登录
https://blog.csdn.net/snail_bing/article/details/81772982
查看某个文件下各个文件占据的数据大小
du -sh /* 查看执行目录下所有文件夹的大小
Du -sh /home/ztl/docker查看指定文件夹内部的文件夹大小
Linux 查看版本cat /proc/version
https://www.cnblogs.com/YangJieCheng/p/5907166.html
Linux查看某个服务或者软件是否已经安装
https://blog.csdn.net/qq_26442553/article/details/79596359
linux查找所有日志log文件&并按从大到小排序&按M或G为单位显示
http://xiaohost.com/1326.html
Linux系统中如何查找大文件或文件夹的方法
https://www.cnblogs.com/endv/p/9027432.html
linux统计文件夹下文件个数以及目录个数
https://www.cnblogs.com/yongjieShi/p/8075281.html
文件共享:Samba or NFS
https://www.linuxprobe.com/chapter-12.html
samba详细命令解释
参见:https://blog.csdn.net/weixin_40806910/article/details/81917077
免密sudo配置
配置免密切换root,否则无法执行脚本中的sudo命令
具体操作方法:
-
编辑:vim /etc/sudoers
-
在该文件中查找下行:same thing without a passwd
/same thing
-
写入如下:
-
磁盘挂载与删除
磁盘挂载与删除:https://www.cnblogs.com/silent2012/p/4586273.html
要注意的是,分区格式化的时候一定要保证整个区任何一个分区都没有挂载到某个目录下,需要unmont,注意只要后期再把目录挂回来即可,不会影响数据。解除挂载操作:
Fuser /home/(挂载盘) fuser -m -v /home(通过该命令查到pid), kill -9 pid(查到的pid) umount /home/
假如一个磁盘分三个区,第一个区已经有东西了,格式化第二个区不会影响第一个区。
可以一块一块儿的加,设置大小的时候,选择+200G
挂载完毕后,如果在文件中已经配置了挂载目录,那么会自动挂载。
Vim /etc/fstab
然后对挂载盘的权限进行设置 chmod 777 /share
用df -lh查看所有磁盘的挂载情况
df -TH /home/ztl 查看指定目录的挂载与使用情况
将挂载的磁盘再次挂载到本地目录的方法;
选择工具-》映射网络驱动器-》
linux环境变量
LInux下LD_LIBRARY_PATH的作用与设置 : 指定动态链接器(Id)超早elf可执行文件运行时所依赖的动态库(so)的路径,Id链接器优先在该变量设置的路径中查找,若未找到则在标准库路径/lib和/usr/lib中继续搜索。
典型例子:
永久与临时环境变量的设置方法:
https://www.cnblogs.com/lcxiao/p/11361052.html
export作用域:
如果只是shell脚本的话,只在shell脚本运行期间其中export的内容有效,出了shell脚本运行范围之外,将不会继续生效
用户登录到Linux系统后,系统将启动一个用户shell。在这个shell中,可以使用shell命令或声明变量,也可以创建并运行 shell脚本程序。运行shell脚本程序时,系统将创建一个子shell。此时,系统中将有两个shell,一个是登录时系统启动的shell,另一 个是系统为运行脚本程序创建的shell。当一个脚本程序运行完毕,它的脚本shell将终止,可以返回到执行该脚本之前的shell。从这种意义上来 说,用户可以有许多 shell,每个shell都是由某个shell(称为父shell)派生的。
在子 shell中定义的变量只在该子shell内有效。如果在一个shell脚本程序中定义了一个变量,当该脚本程序运行时,这个定义的变量只是该脚本程序内 的一个局部变量,其他的shell不能引用它
执行一个脚本 时,会先开启一个子shell环境(不知道执行其它程序是不是这样),然后将父shell中的所有系统环境变量复制过来,这个脚本中的语句就在子 shell中执行。(也就是说父shell的环境变量在子shell中可以调用,但反过来就不行,如果在子shell中定义了环境变量,只对该shell 或者它的子shell有效,当该子shell结束时,也可以理解为脚本执行完时,变量消失。)
配置IP
https://www.cnblogs.com/JcHome/p/10188314.html
其中要修改的文件一般为文件夹下的eth0
另外附加;https://blog.csdn.net/zwd926/article/details/84714122
linux增加用户组、删除用户组操作以及常见的组操作
https://blog.csdn.net/zhichaosong/article/details/82622558
安装yum
https://blog.csdn.net/ljl890705/article/details/50948126
安装jdk
https://www.cnblogs.com/muzi1994/p/5818099.html
安装expect
https://www.cnblogs.com/wang517/p/9816774.html
安装cntlm
https://blog.csdn.net/michaelwoshi/article/details/104686921
NFS共享存储文件系统
关于权限的说明:
NFS对于两个服务器之间用户对于文件夹以及其中文件的访问权限说明
https://my.oschina.net/u/1383139/blog/878083
NFS目录权限设置:比如rw、ro等
https://www.cnblogs.com/wzj0015/p/12865059.html
Linux本身对于文件权限的说明:
常见问题
linux磁盘消失问题解决
表象:磁盘共计300G,df -h的时候发现磁盘使用率100%,计算磁盘下的所有现存文件和为100G,莫名其妙消失了200G空间。
解决方案:
- 简单粗暴:重启
- 参考: https://www.cnblogs.com/ld1977/articles/9919234.html
如果有大量占用了删除文件的进程需要批量删除,命令如下:
lsof -n | grep deleted | awk ‘/deleted/{print $2}’ | xargs kill -9
只显示bash-4.2$
进入/home/ztl下查看是否有如下三个文件:.bashrc .bash_profile .bash_logout
如果缺乏,去其他用户目录下将这三个文件copy过来
然后将这三个文件的用户组与用户修改为ztl即可
修改方法:https://www.cnblogs.com/DawaTech/p/7249734.html
Windows文件拷贝到Linux系统中引发的问题解决
一个典型问题:
- \r:win下的文本行末存在软回车
Unix体系里,每行结尾只有“<换行>”,即“\n”;
Windows体系里面,每行结尾是“<换行><回 车>”,即“\n\r”。
一个直接结果是,Unix体系下的文件在Windows里打开的话,所有文字会变成一行;
而Windows里的文件在Unix下打开的话,在每行的结尾可能会多出一个^M或者\r符号。
格式类的通用解决办法:
vim编辑器中执行:
:set fileformat=unix
另外可以参考:http://www.bubuko.com/infodetail-3245233.html
正确理解Linux内存占用过高的问题
https://www.cnblogs.com/vijayfly/p/5805654.html
https://blog.csdn.net/xiaolang85/article/details/23975673/