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提供的数据库连接工具

Linux03 /shell命令的更多相关文章

  1. Hadoop Shell命令大全

    hadoop支持命令行操作HDFS文件系统,并且支持shell-like命令与HDFS文件系统交互,对于大多数程序猿/媛来说,shell-like命令行操作都是比较熟悉的,其实这也是Hadoop的极大 ...

  2. Shell命令和流程控制

    Shell命令和流程控制 在shell脚本中可以使用三类命令: 1)Unix 命令: 虽然在shell脚本中可以使用任意的unix命令,但是还是由一些相对更常用的命令.这些命令通常是用来进行文件和文字 ...

  3. 在程序中执行shell命令

    在linux系统下的操作中我们会经常用到shell命令来进行,一开始学习进程的时候对于shell命令也进行了思考,认为shell命令就是一个进程的外壳,经过了后来的学习对于这一点也有了更多的认识. 用 ...

  4. Linux远程执行Shell命令或脚本

    ## 远程执行shell命令 ssh [user]@[server] '[command]' # eg. ssh root@192.168.1.1 'uptime' ## 远程执行本地shell脚本 ...

  5. HBase基本shell命令

    HBase基本shell命令 以下shell命令都是经过测试,正常展示,若有不足,还望指点! 1.创建表 create ‘表名称’,‘列族名称1’,‘列族名称1’create 'test_M_01', ...

  6. Linux SHELL 命令入门题目答案(一)

    1.如何使用shell 打印 “Hello World!” (1)如果你希望打印 !,那就不要将其放入双引号中,或者你可以通过转义字符转义(2)echo 'hello world!' 使用单引号ech ...

  7. Linux SHELL 命令入门题目(一)

    新年新气象,注重知识积累,提高手敲代码能力,而不是眼高手低,只会复制黏贴. 1.使用shell 打印 “Hello World!” 2.求变量'hello world'的字符长度 3.$0 .$SHE ...

  8. shell命令获取最新文件的名称

    最近有一个需求,在部署游戏战场服时,从程序包到部署需要做一些本地化的操作,手工操作费时费力,故写一个shell脚本,一键部署. 遇到的问题是每次要部署最新的程序包,因此需要shell命令获取最新的文件 ...

  9. 【转】Hadoop FS Shell命令

    FS Shell 调用文件系统(FS)Shell命令应使用 bin/hadoop fs <args> 的形式. 所有的的FS shell命令使用URI路径作为参数.URI格式是scheme ...

随机推荐

  1. @topcoder - 2013TCO3A D1L3@ TrickyInequality

    目录 @description@ @accepted code@ @accepted code@ @details@ @description@ 现有不等式组: \[\begin{cases} x_1 ...

  2. 分享一个我自己做的 Excel 万年历

    下载链接在此. 纯 Excel 公式实现,带农历,可自定义节日.配色. 带有紧凑日历和记事日历两种日历,均可直接 Ctrl+P 打印,且打印时不带有顶部的控制栏.

  3. [每日一题2020.06.10]Codeforces Round #644 (Div. 3) ABCDEFG

    花了5个多少小时总算把div3打通一次( 题目链接 problem A 题意 : 两个x*y的矩形不能重叠摆放, 要放进一个正方形正方形边长最小为多少 先求n = min(2x, 2y, x+y) 再 ...

  4. qt解决release后数据库连接不上的问题

    问题 : 明明已经设置了 "./xxx" , 为什么release之后数据库还是连不上呢 解决 : 项目中建立一个plugins文件夹 将qt安装目录下的sqldrivers复制到 ...

  5. Andrew Ng - 深度学习工程师 - Part 2. 改善深层神经网络:超参数调试、正则化以及优化(Week 2. 优化算法)

    ===========第2周 优化算法================ ===2.1 Mini-batch 梯度下降=== epoch: 完整地遍历了一遍整个训练集 ===2.2 理解Mini-bat ...

  6. 手把手教你基于SqlSugar4编写一个可视化代码生成器(生成实体,以SqlServer为例,文末附源码)

    在开发过程中免不了创建实体类,字段少的表可以手动编写,但是字段多还用手动创建的话不免有些浪费时间,假如一张表有100多个字段,手写有些不现实. 这时我们会借助一些工具,如:动软代码生成器.各种ORM框 ...

  7. SpringMVC拦截器使用

    源码地址 拦截器interceptor 拦截器是URL请求的第一道门,所有请求会先经过拦截器interceptor,然后再进入controller: 下面,记录一种通过注解方法拦截所有需要登录才能发起 ...

  8. PHP利用FTP上传文件连接超时之开启被动模式解决方法

    初始代码: <?php $conn = ftp_connect("localhost") or die("Could not connect"); ftp ...

  9. 6、struct2使用servlet的api函数

    方法一: Struts2的Action访问Servlet API 可以通过实现装配接口没,完成对Servlet API的访问 * ServletRequestAware取得HttpServletReq ...

  10. 使用 Masstransit中的 Request/Response 与 Courier 功能实现最终一致性

    简介 目前的.net 生态中,最终一致性组件的选择一直是一个问题.本地事务表(cap)需要在每个服务的数据库中插入消息表,而且做不了此类事务 比如:创建订单需要 余额满足+库存满足,库存和余额处于两个 ...