Linux命令汇总(二)
1.登录用户设置
新创建了一个用户,用useradd指令,但是发现通过终端无法登陆;
echo password | passwd --stdin username
或者
passwd --stdin username <<< password
2.yum的本地安装
rpm -i 只能是安装,无法进行更新(update);
rpm -Uvh只能是更新,似乎是无法安装,因为我尝试安装了mesos依赖的包,这种方式并没有完整安装;
最后在rpm所在包目录下,运行了yum localinstall *,这次完整安装了。
3.tee 写入文件
打开输入指令,当想要向某个文件中写入文字的时候使用:
echo XXX | tee filepah
4. 重定向写入异常处理
sudo echo XX > /etc/YYY返回Permission denied
尽管echo已经被sodu,但是你的 >也是bash,并没有具有root权限。肿么办?
方案一:
sudo sh -c "echo XX > /etc/YYY"
方案二:
echo XXX | sudo tee /etc/YYY
5.远程登录并执行语句
ssh user@IP 'command1;command2'
sudo echo XX > /etc/YYY返回Permission denied
尽管echo已经被sodu,但是你的 >也是bash,并没有具有root权限。肿么办?
方案一:
sudo sh -c "echo XX > /etc/YYY"
方案二:
echo XXX | sudo tee /etc/YYY
5.远程登录并执行语句
ssh user@IP 'command1;command2'
6. journalctl
可以通过journalctl查看那systemd的日志;
journalctl -xe --no-pager
-x:代表添加说明性信息;
-e:代表跳转到日志尾部
--no-pager:默认不会自动换行,添加上次选项将会自动换行,显示完整的日志内容
指定查询当天的日志
sudo journalctl -u XXX.service --since today
journalctl -xe --no-pager
-x:代表添加说明性信息;
-e:代表跳转到日志尾部
--no-pager:默认不会自动换行,添加上次选项将会自动换行,显示完整的日志内容
指定查询当天的日志
sudo journalctl -u XXX.service --since today
7. 设置时区和时间
操作系统通用:
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
针对cetnos
1. 罗列出所有的亚洲时区
timedatectl list-timezones | grep Asia
2. 设置时区为上海时间
timedatectl set-timezone Asia/Shanghai
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
针对cetnos
1. 罗列出所有的亚洲时区
timedatectl list-timezones | grep Asia
2. 设置时区为上海时间
timedatectl set-timezone Asia/Shanghai
针对Java程序读取时区
在Docker里面部署应用,发现时间是UTC,需要转换为东八区,通用方法只是在Linux命令行中生效;需要在/etc/中设置timezone文件:
echo "Asia/Shanghai" > /etc/timezone
8. Linux权限
Linux的权限是分两个层级;
第一个大的层级是划分为User,Group以及Other,User指定了指定的用户的访问权限;Group是指指定的组中用户具备的访问权限;Other是指User以及Group之外的用户具有的权限。在每个分类(User,Group,Other)下面又有读(r)权限,写(w)权限以及执行(x)权限。
chown指令是用来指定第一个级别中的user以及group信息;
chmod则是指定第二个级别各个分类下的权限
引申,如果是想要让某个文件可以被所有的用户访问,只要把三类用户的写权限放开即可。
chmod +777 XXX,777代表读写执行全部设置成可以,或者可以直接通过chmod u+x filename,代表用户赋予执行权限,同理chmod g+x filename则代表文件权限所在组(的用户)赋予执行权限,至于chmod o+x filename其实就是类似于windows下面的everyone。
第一个大的层级是划分为User,Group以及Other,User指定了指定的用户的访问权限;Group是指指定的组中用户具备的访问权限;Other是指User以及Group之外的用户具有的权限。在每个分类(User,Group,Other)下面又有读(r)权限,写(w)权限以及执行(x)权限。
chown指令是用来指定第一个级别中的user以及group信息;
chmod则是指定第二个级别各个分类下的权限
引申,如果是想要让某个文件可以被所有的用户访问,只要把三类用户的写权限放开即可。
chmod +777 XXX,777代表读写执行全部设置成可以,或者可以直接通过chmod u+x filename,代表用户赋予执行权限,同理chmod g+x filename则代表文件权限所在组(的用户)赋予执行权限,至于chmod o+x filename其实就是类似于windows下面的everyone。
9. 系统日志
Linux系统日志:/var/log/messages,几乎Linux所有的应用的标准输出都是写入到此文件
rsyslog的配置路径:/etc/rsyslog.conf
rsyslog的配置路径:/etc/rsyslog.conf
10. 尽量使用命令以及shell script单引号
1 echo '#!/bin/bash' >> /opt/mesosphere/bin/detect_ip 没毛病 2 echo “#!/bin/bash” >> /opt/mesosphere/bin/detect_ip :( 3 bash: !/bin/bash": event not found
11. route在centos7
CentOS7下面的route已经全面被ip route给代替了。