Linux03 /shell命令

Linux03 /shell命令

1. xshell快捷键

ctrl+d            # 相当于logout,快速退出
ctrl + shift +r   # 快速ssh登录
ctrl + l          # 相当于clear

2. 修改linux的命令提示符,通过变量PS1控制

echo  $变量名  # 打印出变量的值

# 输出PS1变量的值

echo  $PS1
# 修改变量的值 
PS1='[\u@\h \t \w]\$'
	\u  当前登录用户
	\h  当前主机名  
	\t  当前系统时间
	\w   输出绝对路径
	\W  输出工作路径的最后一位

3. yum安装/卸载

yum install  vim  -y   # 安装vim软件,且自动输入yes
yum erase    vim  -y   # 卸载vim软件,且自动输入yes

4. cat命令

cat -n  filename   显示行号

示例1:
[root@localhost 19:43:37 /tmp]  # cat -n test.py
1	#coding:utf-8
2	print('最近不太好!!!')
     
cat -E  filename   每一行结尾加上$符
示例2:
[root@localhost 19:45:00 /tmp]#cat -E test.py
#coding:utf-8$
print('最近不太好!!!')$

5. 重定向符号

>	重定向覆盖输出符    w模式 
>>   重定向追加输出符   a模式 

<   重定向覆盖写入符
<<  重定向追加写入符 

示例:
1.
[root@localhost 19:46:09 /tmp]#cat >> test01.txt << EOF
> 以后会怎样
> 可能会好吧
> EOF
[root@localhost 19:56:33 /tmp]#cat test01.txt
以后会怎样
可能会好吧

2.清空文件内容
echo "" > test01

6. 显示前几行、显示后几行

head  -n  数字  filename   # 看文件的前n行 

tail  -f  filename   # 持续刷新文件内容的变化
					 # 检测文件内容的变化

# 输出文件的10-20行 
head  -20  english.txt |  tail  -10

7. linux的查找命令

find   从哪找  -type  文件类型 -name  你要找什么名字的文件

文件类型 
l  快捷方式类型
d  文件夹类型 
f  文本类型  

# 全局搜索,所有以.txt结尾的文件 
find  /  -type  f       -name  "*.txt"

# 在opt目录下搜索 我是张三.txt  

find  /opt   -name '我是张三.txt' 

# 在/opt下搜索和python有关的文件夹
find  /opt  -type  d   -name  "python"
find  /opt  -type  d   -name  "python*"
find  /opt  -type  d   -name  "*python"  
find  /opt  -type   d  -name  "*python*"  

8. 查看进程的命令 ,管道符的使用

ps aux 或者 ps -ef         # 查看机器所有进程信息
ps aux  |  grep  "vim"    # 过滤出和vim有关的进程

ps aux |  grep  "python"  # 找到机器所有和python有关的进程   

9. 过滤文本字符串的命令

语法:
grep  你想要的字符串   filename  
-i -- 不区分大小写
-v -- 反向查找

# 1.找出文件中所有大小写的root
grep -i  'root'   filename   # -i不区分大小写

# 2.找出文件的有用信息行
grep -v "^#" filename  |  grep -v "^$"

# 3.找出文件中以#开头的行
grep -v "^#" filename

# 4.找出文件中的空行
grep -v "^$" filename

10. 远程传输scp

语法
scp  你想要的内容  传输到哪里

# 1.把本地机器的/tmp/张三.txt发到远程机器的/opt目录下
scp   /tmp/张三.txt   root@远程机器的ip:/opt/    

# 2.把本地服务器的first.py 发送给root@192.168.16.105远程机器
#   》如果远程服务器data文件夹存在,则放入data文件夹中
#   》如果远程服务器没有data这个文件夹,则把first.py改名为data
scp  ./first.py   root@192.168.16.105:/data 
    
# 3.如果在data后加/的话,远程服务器没有data文件夹会报错
scp  ./first.py   root@192.168.16.105:/data/
# 错误信息:scp: /data/: Is a directory
    
# 4.把远程服务器的文件拿过来 
scp  root@192.168.16.105:/data/李四.txt   /opt 

# 5.发送所有的文件和文件夹给远程服务器 
scp  -r ./* root@192.168.16.105:/data/ 

11. 统计文件夹大小命令

1. ls -h  

2. du命令  以du命令为准 
	-h  显示mb  gb单位
	-s  显示统计 
	
# 示例:统计/var/log文件夹大小
du -sh  /var/log/

12. linux的任务管理器 top命令

top 命令用于动态地监视进程活动与系统负载等信息

13. 更新系统时间

yum install  ntpdate -y  
ntpdate -u ntp.aliyun.com  # -u更新时间,和阿里提供的时间服务器,进行时间同步

# 查看系统时间 
date命令 

14. 在线下载资源的命令

wget  -r -p   www.lbzhk.com   # -r -p  递归爬取网站资源 

15. 文本中内容替换

用法:
# sed处理字符的命令 
# 语法,s是替换模式,g是全局替换 
sed "s/你想替换的内容/替换之后的内容/g" 

示例:
# 把passwd文件中所有的root替换为大写的ROOT,  -i参数是将替换结果写入到文件
sed -i "s/root/ROOT/g" passwd

16. 文件特殊权限的命令

# 1.查看文件的特殊权限
lsattr 

# 2.设置文件的特殊权限
chattr

# 示例:给settings.py加锁,禁止删除
chattr +i settings.py  

17. linux用户管理

1、创建普通用户

useradd  用户名  # 创建用户的同时,会创建用户组
passwd  用户名   # 更改用户密码

2、用户间切换的命令

su -  用户名  # 中间这个横杠代表 用户环境变量完全切换

# root切换普通不要密码
# 普通用户间切换需要密码

3、查看linux用户的id信息

id  用户名 

4、查看存放用户信息的文件

/etc/passwd  

# 经过root创建的普通用户 id从 1000开始 
# 系统自带的用户,如 mysql  ,bin,nginx等用户,默认是1~999

5、删除用户

userdel  -rf 用户名

18. 管理员权限 sudo命令

配置sudo命令的方式
1.用visudo命令,打开配置文件,添加如下配置
	## Allow root to run any commands anywhere
	root    ALL=(ALL)       ALL
	gg      ALL=(ALL)       ALL

2.此时可以使用sudo命令了
	sudo  你想敲的命令

19. 文件权限

1、文件权限各部分释义

文件的类型
-  代表普通文件
d  代表文件夹  
l  代表软连接快捷方式 

文件的权限分三类人 

user   属主
group  属组
other  其他人

文件的读写执行是:

顺序必须是 读写执行 
r    read   读        4
w    write  写        2
x    exec   可执行     1
-   没有权限 

ls -l    # 可以查看查看文件权限

2、修改文件权限

chmod  (chang  mode)  

# 1.修改文件的权限
chmod  u+x  filename  # 给文件的user用户,添加x可执行权限
chmod  o-r  filename.txt    # 给其他人去掉r的读取权限 
chmod  700  filename.py     # 也可以通过数字去修改文件的权限

# 2.修改文件的属主
chown  zhangsan  filename.txt   # 修改文件的主人是 zhangsan

# 3.修改文件的属组
chgrp   zhangsan   filename.txt   # 修改文件的属组为zhangsan组 

# 4.将用户加入某个组中
usermod -G  

示例:

# 1.已知test.py文件权限是rwxr--r--,修改权限为rw-rw-rw
chmod 666 test.py

# 2.修改test.py文件权限为700
chmod 700 test.py

# 3.修改test.py属组是lisi
chgrp lisi test.py

# 4.linux文件权限的755,700是什么意思
755:
	属主:读、写、执行权限
	属组:读、执行权限
	其他人:读、执行权限
700:
	属主:读、写、执行权限
	属组:没有权限
	其他人:没有权限

20. 打包、压缩

打包命令:tar   

参数 :
-z  调用gzip压缩
-x  解包
-c  打包
-v  显示过程 
-f  必须写参数结尾,指定tar包的名字 

示例

1.把/tmp下所有内容打包成  alltmp.tar 文件 
tar -cvf  alltmp.tar  ./*

2.打包且压缩的命令,能够节省60%-70%磁盘空间
tar  -zcvf  alltmp.tar.gz   ./*  

3.解压缩命令 
tar  -zxvf  ../alltmp.tar.gz    ./

21. 杀死进程/通过进程id号

# 1.检查pid
ps aux  | grep  nginx 

# 2.杀死进程id  
kill  id号

22. 定时任务

# 1.检查定时任务列表 
crontab -l  

# 2.设置定时任务
crontab  -e   

# 语法  ,每分钟向一个文件中,追加一个信息 

定时任务规则、示例:

分  时   日  月  周      执行命令的绝对路径

*	*	*	*	*	/usr/bin/echo "定时任务" >> /tmp/文件夹.txt 

# 1.每分钟执行一次命令
*	*	*	*	*	   命令的绝对路径 

# 2.每小时的3,15分组执行命令
*	*	*	*	*      命令的绝对路径 
3,15    *   *   *   *   

# 3.在下午8-11点的第3和第15分钟执行
*	*	*	*	*      命令的绝对路径 
3,15  20-23   *   *   *  

# 4.每晚21:30执行命令
*	*	*	*	*      命令的绝对路径
30  21   *   *   *   

# 5.每晚的12点执行命令 
*	*	*	*	*      命令的绝对路径
0   0   *   *   *  

# 6.每周六、日的1:30执行命令
*	*	*	*	*      命令的绝对路径
30  1   *   *   6,0

# 7.每周一到周五的凌晨1点,清空/tmp目录的所有文件
*	*	*	*	*      命令的绝对路径
0   1   *   *  1-5   /usr/bin/rm -rf /tmp/*

# 8.每晚的21:30重启nginx
*	*	*	*	*	命令的绝对路径
30  21  *   *   *   /usr/bin/systemctl  restart nginx  

# 9.每月的1,10,22日的下午4:45重启nginx
*	*	*	*	*	命令的绝对路径
45  16  1,10,22   *   *   /usr/bin/systemctl  restart nginx  

# 10.每个星期一的上午8点到11点的第3和15分钟执行命令
*	*	*	*	*	命令的绝对路径
3,15  8-11   *  *  1    

23. 配置yum源

centos的默认yum仓库路径是 /etc/yum.repos.d  ,在这目录下,第一层文件夹中的repo文件会识别为仓库文件


1.获取阿里云的yum源
打开网址https://opsx.alibaba.com/mirror

2.找到第一个仓库
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

3.下载第二个仓库
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

4.生成yum缓存,加速以后下载
yum makecache 

24. 建立软连接

ln -s  源文件绝对路径   快捷方式绝对路径 

25. 手动启动网卡

[root@linux ~]# ifup {interface}
[root@linux ~]# ifdown {interface}
[root@linux ~]# ifup eth0

25. 拓展:MySQL的客户端都有哪些

1.通过cmd,使用mysql -uroot -p 这个mysql就是客户端命令
2.pymysql  python操作mysql的模块,客户端
3.django 提供的数据库连接驱动,pymysql,orm,mysqlclient
4.navicat window的可视化客户端
5.pycharm提供的数据库连接工具

posted @ 2019-11-01 18:54  LBZHK  阅读(171)  评论(0编辑  收藏  举报