常用基础命令
文章目录
- 常用基础命令
- 1、 linux下删除文件夹的命令
- 2、全局查询文件linux
- 3、查看所有的用户和组
- 4、Linux将命令添加到PATH中
- 5、ubuntu解压zip文件
- 6、Ubuntu解压缩zip,tar,tar.gz,tar.bz2
- 7、Linux下查看CPU型号,内存大小,硬盘空间的命令(详解)
- 8、Linux基础命令---间歇执行命令---watch
- 9、linux编辑只读文件出不来怎么办
- 10、linux通过命令框传文件
- 11、开放端口防火墙
- 12、复制文件和复制文件夹
- 13、vim常用命令
- 14、文件、文件夹大小
- 15、查看文本内容的行数
- 16、合并文件和切分文件
- 17、yum的用法
- 18、批量删除进程
- 19、查看外网ip
- 20、更改系统时间为TSC中国时区
- 21、linux 根据进程号PID 查找程序的启动路径
- 22、ubuntu修改ssh登陆端口
- 22-1、centos7修改ssh登陆端口
- 23、使用ll替换 ls -alF
- 24、Ubuntu防火墙设置
- 25、临时修改系统时间
- 26、测试端口是否通畅
- 27、vim快捷键
- 28、centos 各版本基础库下载
- 29、访问内网主机--ssh反向穿透+端口转发
- 30、/var/cache/apt/archives空间太小报错
- 31、磁盘挂载
- 32、linux根目录磁盘空间占满,docker存储目录迁移
- 33、大文件的断点续传
- 34、内网穿透,外网访问
- 35、免密登录
- 36、定时任务设置
- 37、Linux下mysql安装
- 38、Vnc图形化界面安装
- 39、Uwsgi
- 40、设置linux上网DNS
- 41、添加超级管理员
- 42、向葵
- 43、文件压缩
- 44、[超算]linux ssh无法连接
- 45、window server 开启远程连接
- 46、使用Yum update时,不升级内核的方法
- 47、花生自启动
- 48、添加开机启动命令
- 49、nohup安装
- 50、yum更新不升级Linux内核
- 51、gcc安装
- 52、查看进程的开始时间
- 53、Linux 系统离线包下载
- 54、Windows shell脚本--> linux shell脚本, 转换命令
- 55、linux会话session窗口,记录会话日志
1、 linux下删除文件夹的命令
rm -rf 目录名字
-r 就是向下递归,不管有多少级目录,一并删除
-f 就是直接强行删除,不作任何提示的意思
eg
删除文件夹实例:rm -rf /var/log/httpd/access
将会删除/var/log/httpd/access目录以及其下所有文件、文件夹
删除文件使用实例:rm -f /var/log/httpd/access.log
将会强制删除/var/log/httpd/access.log这个文件
2、全局查询文件linux
在工作中,可能突然需要找到某个文件,这个又不知道,需要全局查询一下。
下面是命令行:
find / -name "*.log" | xargs grep "elk"
find / -name 名称
/:意思是从/开始进行查找。
意思是包含“elk”的行。
3、查看所有的用户和组
查看所有的用户
cat /etc/passwd
查看某个用户
cat /etc/passwd|grep 用户名
查看所有的组
cat /etc/group
查看当前用户所在的组,以及组内其他成员的信息
groups
查看用户xxx所在的组
groups gliethttp
备注:
/etc/group文件包含所有组
/etc/shadow和/etc/passwd系统存在的所有用户名
更多操作,参考:https://blog.csdn.net/feifeiyechuan/article/details/94548982
4、清除屏幕
clear
4、Linux将命令添加到PATH中
1、直接在命令行中设置PATH
# PATH=$PATH:/usr/local/apache/bin
使用这种方法,只对当前会话有效,也就是说每当登出或注销系统以后,PATH设置就会失效。
2、在profile中设置PATH
# vi /etc/profile
找到export行,在下面新增加一行,内容为:export PATH=$PATH:/usr/local/apache/bin。
注:= 等号两边不能有任何空格。这种方法最好,除非手动强制修改PATH的值,否则将不会被改变。
编辑/etc/profile后PATH的修改不会立马生效,如果需要立即生效的话,可以执行# source profile命令。
3、在当前用户的profile中设置PATH
# vi ~/.bash_profile
修改PATH行,把/usr/local/apache/bin添加进去,如:PATH=$PATH:$HOME/bin:/usr/local/apache/bin。
# source ~/.bash_profile
让这次的修改生效。
注:这种方法只对当前用户起作用的,其他用户该修改无效。
5、ubuntu解压zip文件
step1 # 安装解压软件
sudo apt-get install unzip
step # 2 解压文件
unzip xxxxx.zip
6、Ubuntu解压缩zip,tar,tar.gz,tar.bz2
ZIP
zip可能是目前使用得最多的文档压缩格式。它最大的优点就是在不同的操作系统平台,比如Linux, Windows以及Mac OS,上使用。缺点就是支持的压缩率不是很高,而tar.gz和tar.gz2在压缩率方面做得非常好。闲话少说,我们步入正题吧:
我们可以使用下列的命令压缩一个目录:
# zip -r archive_name.zip directory_to_compress
下面是如果解压一个zip文档:
# unzip archive_name.zip
TAR
Tar是在Linux中使用得非常广泛的文档打包格式。它的好处就是它只消耗非常少的CPU以及时间去打包文件,他仅仅只是一个打包工具,并不负责压缩。下面是如何打包一个目录:
# tar -cvf archive_name.tar directory_to_compress
如何解包:
# tar -xvf archive_name.tar.gz
上面这个解包命令将会将文档解开在当前目录下面。当然,你也可以用这个命令来捏住解包的路径:
# tar -xvf archive_name.tar -C /tmp/extract_here/
TAR.GZ
这种格式是我使用得最多的压缩格式。它在压缩时不会占用太多CPU的,而且可以得到一个非常理想的压缩率。使用下面这种格式去压缩一个目录:
# tar -zcvf archive_name.tar.gz directory_to_compress
解压缩:
# tar -zxvf archive_name.tar.gz
上面这个解包命令将会将文档解开在当前目录下面。当然,你也可以用这个命令来捏住解包的路径:
# tar -zxvf archive_name.tar.gz -C /tmp/extract_here/
TAR.BZ2
这种压缩格式是我们提到的所有方式中压缩率最好的。当然,这也就意味着,它比前面的方式要占用更多的CPU与时间。这个就是你如何使用tar.bz2进行压缩。
# tar -jcvf archive_name.tar.bz2 directory_to_compress
上面这个解包命令将会将文档解开在当前目录下面。当然,你也可以用这个命令来捏住解包的路径:
# tar -jxvf archive_name.tar.bz2 -C /tmp/extract_here/
7、Linux下查看CPU型号,内存大小,硬盘空间的命令(详解)
https://blog.csdn.net/zhangliao613/article/details/79021606
8、Linux基础命令—间歇执行命令—watch
watch –n 3 ls
watch
watch指令可以间歇性的执行程序,将输出结果以全屏的方式显示,默认是2s执行一次。watch将一直运行,直到被中断。
此命令的适用范围:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。
参数选项列表
9、linux编辑只读文件出不来怎么办
:wq!
10、linux通过命令框传文件
yum install lrzsz
# 安装完成直接拖拽就行
11、开放端口防火墙
1.查看下防火墙的状态:systemctl status firewalld
需要开启防火墙 systemctl start firewalld.service
firewall-cmd --zone=public --list-ports ##查看已开放的端口
2.添加8484端口到白名单 执行
firewall-cmd --permanent --zone=public --add-port=8484/tcp
提示 success 表示成功
命令含义
--zone #作用域
--add-port=8484/tcp #添加端口,格式为:端口/通讯协议
--permanent #永久生效,没有此参数重启后失效
3.重启防火墙:添加成功之后需要重启防火墙
firewall-cmd --reload
4.测试
其他常用命令:
firewall-cmd --state ##查看防火墙状态,是否是running
firewall-cmd --reload ##重新载入配置,比如添加规则之后,需要执行此命令
firewall-cmd --get-zones ##列出支持的zone
firewall-cmd --get-services ##列出支持的服务,在列表中的服务是放行的
firewall-cmd --query-service ftp ##查看ftp服务是否支持,返回yes或者no
firewall-cmd --add-service=ftp ##临时开放ftp服务
firewall-cmd --add-service=ftp --permanent ##永久开放ftp服务
firewall-cmd --remove-service=ftp --permanent ##永久移除ftp服务
firewall-cmd --add-port=80/tcp --permanent ##永久添加80端口
firewall-cmd --remove-port=80/tcp --permanent ##永久添加80端口
firewall-cmd --zone=public --list-ports ##查看已开放的端口
iptables -L -n ##查看规则,这个命令是和iptables的相同的
man firewall-cmd
12、复制文件和复制文件夹
1- 只复制一个文件
cp /media/dataindex/collection /usr/bin/
2- 递归复制文件夹里面的所有内容
cp -r /media/dc/log/ /media/dataindex
13、vim常用命令
1、查看前10行
cat file_path | head -n 10
2、查看后10行
cat file_path | tail -n 10
3、查看文本行数
cat file_path | wc -l
4、查看5行开始的后10行,即5-14
cat file_path |tail -n +5| head -n 10
5、查看5行开始到最后一行
cat file_path | tail -m +5
1、常见问题 - vi 编辑模式下,提示visual 模式,不能使用鼠标复制和粘贴。此时需要配置vim文件,才可使用鼠标
解决方法,新建/打开 ~/.vimrc:
vi ~/.vimrc
输入如下内容:
if has('mouse')
set mouse-=a
endif
保存,退出即可解决。
14、文件、文件夹大小
du -sh 文件夹/文件
du -sh * | sort -n 统计当前文件夹(目录)大小,并按文件大小排序
du -sk filename 查看指定文件大小
15、查看文本内容的行数
# 以下方法均可
wc -l test1.txt
sed -n '$=' test1.txt
cat test1.txt | wc -l
16、合并文件和切分文件
# 切分文件 - split
split用来将大文件分割成小文件。
split –output-file-size input-filenameoutput-filename
按每个文件2行分割: split -2 split1
split -l 50 wlan_date.txt wlan
拆分后会生成 wlanaa wlanab wlanac 三个文件,wlanaa wlanab两个文件分别50行,wlanac文件剩下20行
# 合并数据,将file1,file2,file3合并为file
cat file1 file2 file3 > file
17、yum的用法
https://blog.csdn.net/zhaoyanjun6/article/details/78894974
18、批量删除进程
ps -ef | grep java
kill -9 $(ps -ef | grep java) # 删除cmd进程中有java的所有进程
// 安装netstat
yum install net-tools
// 关闭进程
kill -9 $(netstat -tlnp|grep 7071|awk '{print $7}'|awk -F '/' '{print $1}') # 删除端口
lsof -i:8080 | awk "{print $2}" | grep -v "PID" | xargs kill -9 # 删除端口
ps -ef | grep stress | grep -v uwsgi | cut -c 9-15 | xargs kill -9 # 删除关键字
19、查看外网ip
curl cip.cc
20、更改系统时间为TSC中国时区
1、硬件时间和系统时间同步
hwclock --systohc
2.修改文件vi /etc/sysconfig/clock,添加内容:
ZONE=Asia/Shanghai
UTC=false
ARC=false
3. 链接
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
亲测可用:
linux修改系统时间为北京时间(CentOS)
删除本地时间
rm -rf /etc/localtime
设置时区为上海
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
利用date查看时间
修改成功
21、linux 根据进程号PID 查找程序的启动路径
1.我们可以从ps命令中得到进程的PID,如23347。
2.进入/proc目录下以该PID命名的目录。
3.输入ls -ail,结果中exe链接对应的就是可执行文件的全路经详细信息。
22、ubuntu修改ssh登陆端口
#查看是否安装过ufw
sudo dpkg --get-selections | grep ufw
#安装ufw
sudo apt-get install ufw
#默认规则为拒绝
ufw default deny
#防火墙50022端口的tcp访问
sudo ufw allow 50022
#vnc服务端口
sudo ufw allow 5901
sudo ufw allow 5902
#将22端口改为50022
sudo vi /etc/ssh/sshd_config
#重启ssh服务
service sshd restart
#查看更改是否生效
netstat -tlnp
#防火墙生效并开机启动
ufw enable
#检查设置规则
sudo ufw status
22-1、centos7修改ssh登陆端口
23、使用ll替换 ls -alF
打开文件vi ~/.bashrc
, 添加一下内容
alias ll='ls -alF'
加载文件:
source ~/.bashrc
24、Ubuntu防火墙设置
查看防火墙状态:ufw status
打开防火墙:sudo ufw enable
重启防火墙: sudo ufw reload
开放指定端口: ufw allow 8080
25、临时修改系统时间
date -s //设置当前时间,只有root权限才能设置,其他只能查看
date -s 20120523 //设置成20120523,这样会把具体时间设置成空00:00:00
date -s 01:01:01 //设置具体时间,不会对日期做更改
date -s "01:01:01 2012-05-23" //这样可以设置全部时间
date -s "01:01:01 20120523" //这样可以设置全部时间
date -s "2012-05-23 01:01:01" //这样可以设置全部时间
date -s "20120523 01:01:01" //这样可以设置全部时间
26、测试端口是否通畅
ping ip port
telnet ip port
27、vim快捷键
o:移动到下一行另起一行
O:移动到上一行另起一行
a:在光标前插入数据
A:光标回到一行最前端
x:删除光标所在位置的数据
u:撤回
dd:删除(剪切)一行
:模式:set number 回车
d3d:剪切光标所在行共3行
yy:复制光标所在行,p粘贴
G:光标到最后一行
gg:光标到第一行
9G:光标到第9行
r:替换单个字母
/:查找,n继续往下翻,N往前翻
:模式下:6,8s/nologin/NOLOGIN/g 替换指定行数的指定内容(不加g代表替换第一个,加g代表替换全局所有)
CTRL+v:可视化块模式:可以选中一块数据
28、centos 各版本基础库下载
https://archive.kernel.org/centos-vault/
29、访问内网主机–ssh反向穿透+端口转发
30、/var/cache/apt/archives空间太小报错
使用软连接方法:
# 清除所有已下载的过期安装包
sudo apt-get autoclean
# 清除所有已下载的安装包
sudo apt-get clean
# 在某个空间大的分区建立一个目录,然后把/var/cache/apt/archives换成指向那个目录的软链接
mkdir -p "$HOME/debs/partial"
sudo rm -rf /var/cache/apt/archives
sudo ln -s "$HOME/debs" /var/cache/apt/archives
31、磁盘挂载
1)分区硬盘挂载参考
2)移动硬盘/U盘挂载问题
正常移动硬盘挂载会出现‘mount: 未知的文件系统类型ntfs’,解决方式如下:
1-1 linux服务器有网络的情况下:
wget http://tuxera.com/opensource/ntfs-3g_ntfsprogs-2013.1.13.tgz
tar -xvf ntfs-3g_ntfsprogs-2013.1.13.tgz
cd ntfs-3g_ntfsprogs-2013.1.13
./configure
make && make install
挂载:
mkdir /mnt/data
mount -t ntfs-3g /dev/sdb1【分区】 /mnt/data
挂载成功到/mnt/data目录下,可以拷贝文件了
参考:Linux服务器挂载ntfs移动硬盘
3)centos单目录挂载多块硬盘
挂载前需要确认lvm2被安装:yum -y install lvm2
,用于使用pvxxxx的命令。
参考:centos单目录挂载多块硬盘
32、linux根目录磁盘空间占满,docker存储目录迁移
33、大文件的断点续传
rsync -avzP -e 'ssh -p TARGET_PORT' gaofei@TARGET_IP:TARGET_PATH LOCAL_PATH .
参数:
–progress: 显示拷贝进度
–partial:保留不完整文件,实现断点续传
–partial-dir=DIR:指定不完整文件的存储目录,而不是默认存储到目的地目录。
-P:包含–progress和–partial>
–rsh=ssh:使用ssh方式传输文件,注意:如果之前设置过ssh免密码登录,那么此时也就不需要密码了,非常方便
-v:显示详细信息
-a:归档模式。也就是以递归方式传输文件,并保持所有文件属性。>
-r:递归方式传输文件
rsync -e 'ssh -p 22' -av --copy-links --exclude='*' root@192.168.123.123:/usr/local/*
–copy-links: 复制软链接指向的文件而不是链接本身。
–exclude=‘*’: 排除所有文件,包括软链接指向的文件。
–copy-unsafe-links 选项告诉 rsync 仅复制软链接本身,而不会跟随链接指向的文件。
34、内网穿透,外网访问
1、安装autossh服务
下载安装包,也有可能不能下载,需要直接使用别人已经下载的安装包
sudo apt-get install gcc make
wget http://fossies.org/linux/privat/autossh-1.4e.tgz
tar -xf autossh-1.4e.tgz
cd autossh-1.4e
./configure
make
sudo make install
2、安装成功后,进行内网穿透
B 为内网,地址就用localhost或者内网地址
A 为外网地址
C 为其他客户
2.1 创建 A – > B 的穿透连接:
autossh -p 22 -M 11222 -fNR 11221:localhost:22 A的用户名@A的IP
or
autossh -p 22 -M 11222 -NR 11221:localhost:22 A的用户名@A的IP &
-p 指定外网服务器的ssh端口(默认22)
-M 在外网服务器中指定一个端口,监听连接的状态,使断开后进行重连
-f 隧道建立成功后在后台运行
-N 不执行远程指令
-L 建立本地SSH隧道,指定本地的某端口转发到远程主机的某端口
-R 建立远程SSH隧道,指定远程主机上的某端口转发到本地的某端口
-NR 11221:localhost:22 可理解为将本地的22端口转发/映射到A的11221端口,即A可通过自己的11221端口,连接到B
2.2 在A机器上访问B
ssh -p 11221 root@localhost
2.3 在 A 上正向代理
ssh -fgNL 11222:localhost:11221 root@A公网IP地址 -p A公网登录端口
2.4 在 C 机器上访问 B
ssh -p 11222 C的用户名@A的IP
2.5 参考
1) ssh反向代理+正向代理实现远程登录
2.6举例:
内网:autossh -p 7022 -M 6778 -NR '*:7024:内网ip:内网ssh22' root@远程ip
远程:ssh -fgNL 7026:localhost:7024 root@远程ip -p 7022
那么外网机器可以访问:远程ip:7026 来访问内网机器。
35、免密登录
首先生成公钥和私钥,输入如下命令,一路enter
键即可。此时,在 ~/.ssh/
目录下生成了公钥(id_rsa.pub
)和私钥(id_rsa
)
ssh-keygen -t rsa
以下两种方式是同样的
1、拷贝公钥
将机器B的公钥写入到机器A的用户验证中
cat /home/B/id_rsa.pub /home/A/.ssh/authorized_keys
2、访问写入
ssh-copy-id -p TARGET_PORT TARGET_USER@TARGET_IP
36、定时任务设置
1、定时任务设置:
Linux 定时执行任务【备份】
2、crontab 安装
yum -y install vim-enhanced.x86_64
3、crontab 启动配置
/etc/init.d/crond start //启动服务
/etc/init.d/crond stop //关闭服务
/etc/init.d/crond restart //重启服务
/etc/init.d/crond reload //重新载入配置
/etc/init.d/crond status //查看crontab服务状态
37、Linux下mysql安装
38、Vnc图形化界面安装
windows可通过mstsc进行服务器GUI界面的远程登录
参考:Vnc安装
39、Uwsgi
a-防止内存溢出,程序奔溃
uwsgi uwsgi.ini --evil-reload-on-as 100 --evil-reload-on-rss 100
b-【uWSGI】 listen queue of socket (fd: 3) 错误分析
参考链接
如果用户访问量不大,可以这样使用:
(1)查看机器支持的最大并发数
sysctl -a | grep net.core.somaxconn
(2)启动
c-内存过大,导致内存溢出
--reload-on-as 100 --reload-on-rss 100
d-工程目录下有任何文件更改,重启uwsgi
py-auto-reload = 1
参考
40、设置linux上网DNS
通畅客户机在开启了外部网络时,让然访问不了外部网络,那么需要设置DNS。
vi /etc/resolv.conf
输入:
nameserver 114.114.114.114
保存后,即可上网。
41、添加超级管理员
1、添加用户
useradd -m -s /bin/bash 【用户名】
2、添加到超级管理员组
usermod -g root 【用户名】
3、添加密码
passwd 【用户名】
42、向葵
43、文件压缩
参考链接
建议使用gzip,rar,zip
安装:
apt install rar
rar 解压:
rar x xxx.rar
或 rar -e xxx.rar
44、[超算]linux ssh无法连接
44-1 报错:Could not load host key: /etc/ssh/ssh_host_key
原因:
使用:ls -al /etc/ssh/sshd_*key
可以发现,ssh主机密钥的大小被截断未0,无法被登录。
解决:
重新生成密钥
1)在Debian、Ubuntu或其衍生版上
rm -r /etc/ssh/ssh*key
dpkg-reconfigure openssh-server
无需重启服务,直接登录即可正常登录
2)在CentOS、RHEL或Fedora上
rm -r /etc/ssh/ssh*key
systemctl restart sshd
3)可以一键解决:
ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key
参考:could not load host key: /etc/ssh/ssh_host_rsa_key 无法启动ssh的一个解决办法
45、window server 开启远程连接
1、开启远程端口:3389
2、在控制面板的账户中更改Administration的密码,直接远程按照ip:port进行登录即可。
46、使用Yum update时,不升级内核的方法
RedHat/CentOS/Fedora使用 yum update 更新时,默认会升级内核。但有些服务器硬件(特别是组装的机器)在升级内核后,新的内核可能会认不出某些硬件,要重新安装驱动,很麻烦。所以在生产环境中不要轻易的升级内核,除非你确定升级内核后不会出现麻烦的问题。
如果不想升级内核而只更新其他软件包,有两种方法:
1、修改yum的配置文件 vim /etc/yum.conf,在 [main] 的最后添加 exclude=kernel*
2、直接在yum的命令后面加上如下的参数:
yum –exclude=kernel* update
**【阿里云】**CentOS 使用 yum update 命令不升级内核和操作系统的方法
vi /etc/yum.conf
# 在 [main] 的最后添加:
exclude=kernel*
# 和
exclude=centos-release*
# 按 Esc 键,输入 :wq,然后回车
# 大功告成!
最后总结:
在 /etc/yum.conf
的 [main]
后面添加
exclude=kernel*
exclude=centos-release*
47、花生自启动
1)、进入自启动目录
cd /etc/systemd/system
2)、创建启动文件
touch phddns.service
3)、编辑文件
vi phddns.service
输入以下内容:
[Unit]
Description=phddns Service
Wants=network-online.target
After=network.target
[Service]
Type=simple
# default start cmd
ExecStart=/usr/sbin/phddns start
# Suppress stderr to eliminate duplicated messages in syslog. NM calls openlog()
# with LOG_PERROR when run in foreground. But systemd redirects stderr to
# syslog by default, which results in logging each message twice.
StandardOutput=syslog
StandardError=null
[Install]
WantedBy=multi-user.target
4)、执行命令
systemctl enable phddns.service
5)、若出现一下提示,则启动成功
6)、验证
systemctl list-unit-files | grep phdd
若为 enabled 状态,则设置成功。
48、添加开机启动命令
1)进入以下目录
cd /etc/rc.d/init.d
2)创建并添加脚本命令
vi startup.sh
输入需要自启动的命令:
#!/bin/bash
#chkconfig: 345 88 14
xxxxxxxxxxxxxxxxxxxxxx
注:记得加前两行
3)增加脚本可执行权限
chmod +x /etc/rc.d/init.d/startup.sh
4)添加脚本到开机自动启动项目中
cd /etc/rc.d/init.d
chkconfig --add startup.sh
chkconfig startup.sh
49、nohup安装
yum install coreutils
50、yum更新不升级Linux内核
1)方法一:
vim /etc/yum.conf
在[main]的最后添加
exclude=kernel*
exclude=centos-release*
2)方法二:
直接在yum的命令后面加上如下的参数
yum --exclude=kernel* update
51、gcc安装
安装gcc、c++编译器以及内核文件命令
yum -y install gcc gcc-c++ kernel-devel
注:kernel-devel 是内核编译模块 不是升级内核,所以在不能升级内核的情况下,也可以照常使用这个,但是不能使用 yum update
或 yum upgrade
。
52、查看进程的开始时间
ps -p PID -o lstart // PID为进程ID
53、Linux 系统离线包下载
1) Centos
centos7.8 安装包地址
注:其他版本的地址,同此。
54、Windows shell脚本–> linux shell脚本, 转换命令
1) 问题原因:在windows中的换行是 \r\n
,而linux中的换行是 \n
,无法识别\r
。所以需要进行转换。
2)转换命令:
sed -i 's/\r$//' xxx.sh
55、linux会话session窗口,记录会话日志
1)记录日志