专栏首页Python 学习day102-day104-Linux基本命令
原创

day102-day104-Linux基本命令

1.xshell 远程连接 Linux 服务器

ssh  用户名@Linux服务器ip

2.linux管理网卡

# 在系统刚装好的时候,默认可能没有启动网卡
        ifup     网卡名字      #启动网卡
        ifdown   网卡名字      #关闭网卡

3.管理网络配置的文件(修改静态 ip)

vi /etc/sysconfig/network-scripts/ + ifcfg-ens33 或者 ifcfg-eth0 或者 ... (每个人不一样)
进入文件之后修改 onboot=yes

4.对网络服务进行 启动 / 停止 / 重启

/etc/init.d/network  start/stop/restart

5.Linux目录结构

<><><><><><><><><><><><><><><><><><><><>分割线<><><><><><><><><><><><><><><><><><><><><><>:

# 存放用户身份信息的文件            /etc/passwd  
# 存放用户组的文件                  /etc/group 
# 存放用户密码的文件                /etc/shadow 
# 存放root权限配置的文件            /etc/sudoers
# 配置一些常量,开机读取,永久生效   /etc/locale.conf 
# DNS配置文件                       /etc/resolv.conf 

1.增

01.mkdir  XXX                      创建一个名为 XXX 的目录
02.mddir -r  AAA/BBB/CCC           创建地柜目录
#  mkdir -p /data/{dir1,dir2}      同时创建多个目录
03.touch  XX.xx                    创建一个名为 XXX.xx 的文件
04.useradd  XXX                    新建一个名为 XXX 的用户
05.wget -r -p  +下载链接           下载资源类似于一个小爬虫
06.ln -s  /xxx/python3.7  /usr/bin/python3.7
# 创建软连接,输入 python 就直接运行 /xxx/python3.7

# 或者不用软连接
# echo ":/XXX/python3.7" 进 PATH ,系统通过 PATH 找到路径同样运行 python3.7
# PATH="xxxxx"
# 或者参考:实际可能有误
# 以添加JDK的环境变量为例子,vim /etc/profile (linux的全局环境变量配置文件)打开文件, 在文件最后添加:
# export JAVA_HOME=/opt/jdk1.8.0_191
# export PATH=$JAVA_HOME/bin:$PATH
# 常规格式--tar
07.tar -cf XXX.tar 文件1 文件2..         将多个文件打包成一个叫 XXX 的 tar 压缩包
08.tar -xf XXX.tar                       将 XXX tar包解压出来
09.tar -xf XXX.tar -C /目录              将 XXX tar包解压到指定目录
10.tar -tf XXX.tar                       不解压查看内容

# 压缩格式--gz
11.tar -zcvf XXX.tar.gz 文件1 文件2..     将多个文件打包成一个叫 XXX 的 gz 压缩包
12.tar -zxvf XXX.tar.gz                   将 XXX 压缩包包解压出来
13.tar -zxvf XXX.tar.gz -C /目录          将 XXX 压缩包解压到指定目录
14.tar -tvf XXX.tar.gz                   不解压查看内容  

# 压缩格式--bz2
15.tar -jcvf XXX.tar.bz2 文件1 文件2..   将多个文件打包成一个叫 XXX 的 bz2 压缩包
16.tar -jxvf XXX.tar.bz2                 将 XXX 压缩包解压出来
17.tar -jxvf XXX.tar.bz2 -C /目录        将 XXX 压缩包解压到指定目录
18.tar -tvf XXX.tar.bz2                  不解压查看内容 
18.crontab -e                      新增/编辑定时任务 
19.crontab -l                      查看定时任务
20.crontab -r                      清除定时任务   
# 实例
     * * * * * command             每1分钟执行一次
     3,15 * * * *                  每小时的第3和第15分钟执行
     3,15 8-11 * * *               在上午8点到11点的第3和第15分钟执行
     3,15 8-11 */2  *  *           每隔两天的上午8点到11点的第3和第15分钟执行
     3,15 8-11 * * 1               每周一上午8点到11点的第3和第15分钟执行
     30 21 * * *                   每晚的21:30执行
     45 4 1,10,22 * *              每月1、10、22日的4 : 45执行
     10 1 * * 6,0                  每周六、周日的1 : 10执行
     0,30 18-23 * * *              每天18 : 00至23 : 00之间每隔30分钟执行
     0 23 * * 6                    每星期六的晚上执行
     * */1 * * *                   每一小时执行
     * 23-7/1 * * *                晚上11点到早上7点之间,每隔一小时执行

2.删

01.rm  XXX                         将 XXX  这个文件删除
02.rm  XXX*                        将 XXX  开头的文件全部删除
03.rm -r  XXX                      将 XXX  文件夹以及里面所包含的文件夹和文件全部删除
04.rm -rf XXX                      将 XXX  直接强制删除,不挂它是什么
05.userdel -rf username            将普通用户的包括家目录全部彻底删除
06.kill 进程号                     根据进程号结束进程
07.kill-9 进程号                   根据进程号强制结束进程
08.killall 进程                    一次性全部结束跟该进程相关的所有相关进程

3.改

01.mv  AAA  BBB                    将 AAA 重新命名为 BB
02.mv  AAA  BBB/CCC                将 AAA 移动到 BBB 下面并且重命名为 CCC
03.cp  AAA  BBB                    将 AAA 复制到 BBB 下面 
04.cp  AAA  BBB/CCC                将 AAA 复制到 BBB 下面并且重命名为 CCC 
05.cp -r  AAA  BBB                 将 AAA 文件夹 复制到 BBB 下面
06.cp -p  AAA  BBB                 将 AAA 文件夹 复制到 BBB 下面,保持 AAA 的一切属性,比如时间属性
07.passwd  用户名                  修改用户的密码  
08.hostnamectl  set-hostname       XXX  将主机名改成 XXX
09.echo AAA > XXX                  将 AAA 重写覆盖进 XXX 里面
10.echo AAA >> XXX                 将 AAA 追加到 XXX 的后面 
11.cat >> XXX << EOF               自由模式编辑,编辑完最后一行写 EOF 结束,追加操作
12.alias XXX="echo 禁止使用该命令"  执行 XXX 命令的时候,将执行 echo '禁止使用该命令',一般用于防止 rm -rf
13.unalias XXX                     将再次可以使用 XXX 命令
# alias rm="echo 禁止使用该命令"    执行 rm 命令的时候,将显示 '禁止使用该命令',注意双引号
# unalias rm                       将再次可以使用 rm 命令
14.scp (-r)  /xxx username@ip:/xxx 将本地文件(夹)传递到目标主机,本地-->目标
14.scp (-r)  username@ip:/xxx /xxx 将目标主机文件(夹)下载到本地,目标-->本地
# scp -r /home/dict leon@192.168.1.66:/home  将本地 home 里的 dict 文件夹传输到目标主机的 home 下
# scp -r leon@192.168.1.66:/home/dict /home  将目标主机 home 里的 dict 文件夹传输到本地的 home 下
15.ntpdate -u  ntp.aliyun.com      同步时间
16.vi XXX                          编辑文件
# 底行模式
    # 移动
    -- w      :移动光标到下一个单词
    -- b      :移动光标到上一个单词
    -- 0      :数字零,移动到某一行的开头
    -- $      :移动到某一行的结尾
    -- gg     :移动到文件的第一行
    -- G      :移动到文件的最后一行
    
    # 复制粘贴
    -- yy     :拷贝光标所在行
    -- p      :粘贴 yy 所复制的内容,(光标所在行往下粘贴)
    -- nyy    :复制光标所在行连同所在行往下 n 行
    
    # 删除
    -- dd     :删除光标所在行
    -- ndd    :删除光标所在行往下 n 行
    -- D      :删除当前光标所在位置到行尾的内容
    -- dG     :删除当前行到文档尾部的内容
    -- x      :删除光标所在的字符
    
    -- u      :撤销上一级的操作
    
    # 查找
    -- /xxx   :从上往下找 xxx,按 n 找下一个,按 N 找上一个,从上往下
    -- ?xxx   :从下往上找 xxx,按 n 找下一个,按 N 找上一个,从下往上
    -- %      :光标移动到括号上方,按 % 可以找到括号,中括号,大括号的另一半
    
    -- ctrl+f :下一页
    -- ctrl+b :上一页 
    
    -- :q!   :强制退出
    -- :wq!  :强制写入退出(保存)
    -- :set nu :显示行号
    -- :n    :跳转到第 n 行
17.su - username                    切换用户
18.sudo XXX                        使普通用户以 root 身份去执行 XXX 命令,解决权限不足的问题
# vim /etc/sudoers 
# 写入
     ## Allow root to run any commands anywhere 
	 root    ALL=(ALL)       ALL
	 leon    ALL=(ALL)       ALL   #在这里写入你想添加的用户
	 davis   ALL=(ALL)       ALL   #在这里写入你想添加的用户
# 用户、群组、权限
权限的 r w x 的顺序是固定的!!!
# 对于与文件夹
    -- r    可以对此目录执行ls列出所有文件
    -- w    可以在这个目录创建文件
    -- x    可以cd进入这个目录,或者查看详细信息
    
# 权限分配,linux有三个用户身份,可以设置权限,分别是:
    -- user	    所属用户
    -- gourp 	所属用户组
    -- other 	谁也不属于,其他人的身份

19.chmod 权限操作 文件/文件夹
20.chmod -R 权限操作 文件夹          对文件夹下的所有文件/文件夹统一修改权限
#  支持 加减   复制等于  数字
    -- chmod o+rwx test.py          对 other  添加 可读可写可执行 权限
    -- chmod g-w   test.py          将 group  的可写权限收回
    -- chmod u=-r- test.py          将 user   的权限设置只能可读
    -- chmod 764   test.py          user -> rwx ,group --> rw ,others --> r
    
21.chown 用户名 文件/文件夹          文件/文件夹自改所有者
22.chown -R 用户名 文件夹            文件夹下的所有文件/文件夹统一修改所有者
 
23.gropadd XXX                      添加一个叫 XXX 的群组
24.gropdel XXX                      将 XXX 这个群组删除

25.chgrp 群组名 文件/文件夹          文件/文件夹修改所属群组
26.chgrp -R 群组名  文件夹           文件夹下的所有文件/文件夹统一修改群组
  
27.gpasswd  -a 用户名  群组名        将用户添加进指定群组  
28.gpasswd  -d 用户名  群组名        用户退出对其群组 
29.linux命令提示符更改,PS1变量
# echo $PS1  -->  [\u@\h \W]\$
# PS1="xxxxxxxxx"
# \h  主机名第一个名字
# \t  时间24小时制HHMMSS
# \W  利用basename取得工作目录名
# \w  完整工作目录
# linux的防火墙概念
# 因为如果你不关防火墙,很可能你后面运行 django、nginx、mysql
# 防火墙可能会阻挡端口流量的 出口
# 也会阻挡外来请求的入口 

30.关闭selinux
	-- getenforce                  获取selinux状态
	-- setenforce 0                临时关闭selinux,重启后又会生效
	-- vim /etc/selinux/config     永久关闭selinux,写入到selinux配置文件
	-- SELINUX=disabled            更改为这个,重启后selinux永久关闭
	
31.iptables (软件防火墙)
	-- iptables -L                 查看防火墙规则
	-- iptables -F                 清空防火墙规则
	-- systemctl stop firewalld    关闭防火墙软件,这个服务永久关闭 
# Linux编码
# server和client端编码统一
# 修改linux中文编码支持
# 修改文件
# viw /etc/locale.conf 
# LANG="zh_CN.UTF-8"
# 读取这个文件,使得生效
# source /etc/locale.conf 
32.nslookup 域名               解析某个域名
# DNS服务:域名解析ip
# cat /etc/resolv.conf 
# Generated by NetworkManager
# nameserver 223.5.5.5        #域名服务器
# nameserver 223.6.6.6
# 常见的域名服务器有 
# 8.8.8.8
# 114.114.114.114
# 223.5.5.5                    #阿里巴巴 
# 223.6.6.6
# 119.29.29.29                 #腾讯的DNS
# 配置 yum 源
1.可以移除默认的yum仓库,也就是删除 /etc/yum.repos.d/底下所有的.repo文件(踢出国外的yum源)
2.配置yum源,找到阿里云的官方镜像源地址  https://opsx.alibaba.com/mirror
3.下载centos7的yum源
# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
4.清空旧的yum缓存 
# yum clean all 
5.生成新的yum仓库缓存(这个缓存来自于阿里云的yum仓库,便于加速软件下载)
# yum makecache 
6.配置一个第三方的 额外仓库源  (epel源),这个源的作用是,如果阿里云源找不到这个软件,就在这里找
# wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
7.yum 安装的软件都可以通过 systemctl start/stop/restart/status 软件名来操作软件
33.sed 's/xxx/yyy/g' 111.txt > 222.txt
# 将 111.txt 里面所欲的 xxx 全部 替换为 yyy 并重写入 222.txt

4.查

01.pwd                              查看当前工作目录
02.man  命令名                      查看改命令的使用方式
03.ls                               查看当前文件夹下用户的文件个目录 
04.ll                               查看目录下的文件的详细信息 
05.ls -a                            查看当前下包括隐藏不显示的文件 
06.ll -a                            查看目录下包含隐藏不显示文件的详细信息  
07.cd  XXX                          切换到 XXX 目录  
08.cat XXX                          查看 XXX 文件 
09.cat XXX -n                       查看 XXX 文件,并且显示行号
10.cat XXX -E                       查看 XXX 文件,空白行会侠士 $ 符号  
11.whoami                           查看当前用户是谁   
12.tty                              查看终端信息
13.stat XXX                         查看 XXX 的详细信息
14.more                             从文件头部开始分页显示文件
15.less                             从文件尾部开始分页显示文件
16.head -n  XXX                     显示 XXX 的前 n 行
17.tail -n  XXX                     显示 XXX 的后 n 行
18.find  xxx/xxx -name aaa*          在 XXX 目录里面找出 name 里面带 aaa 的文件,不适用于目录
19.find  xxx/xxx -type Y             在 XXX 目录里面找出 Y 类型的文件
# find ./ -name test -type d         找出当前目录名字叫 test 的目录
# 文件类型
    -- d :目录
    -- f :常规文件,或直接就是一个 " - ",也是代表常规文件的意思
    -- b :块设备文件
    -- c :字符设备文件
    -- l :符号链接文件
    -- s :socket文件
20.grep aaa XXX                     从 XXX 里面筛选出跟 aaa 相关的信息   
21.grep aaa XXX -n                  从 XXX 里面筛选出跟 aaa 相关的信息,并显示行号
22.grep aaa XXX -i                  从 XXX 里面筛选出跟 aaa 相关的信息,忽略大小写
23.grep aaa XXX -v                  从 XXX 里面筛选出跟 aaa 不相关的信息
# grep aaa XXX -i -v -n             组合使用
24.tail -f XXX                      动态监测查看 XXX 文件
14.which XXX                        查看 XXX 命令的路径
15.du XXX                           查看 XXX 文件的大小
16.du -sh XXX                       查看 XXX 文件夹的大小
17.df -h                            统计磁盘的大小
18.top                              动态监测系统进程
19.free (-h)                        以 MB 查看内存
20.chattr +a XXX                    给 XXX 上锁保护,不能被增删改
21.chattr -a XXX                    给 XXX 解保护锁,可以被增删改
22.lsattr XXX                       查看 XXX 文件执行 chattr 后的状态,一般联合使用
22.cat /etc/os-release              查看操作系统的详细信息
23.cat /etc/redhat-release          查看系统版本信息
24.uname -r                         查看内核版本号
25.uname -m                         查看系统多少位
26.uname -a                         查看内核所有信息
27.id username                      查看该用户的身份权限
28.netstat -tunlp                   查看网络端口
# 服务器的ip地址
# 127.0.0.1        本机回环地址,代表这个服务器自己,只能自己ping同自己
		           python manage.py  runserver 127.0.0.1:8000 
		   
# 192.168.12.85    代表当前机器的ip地址 
		           python manage.py  runserver 192.168.12.85:8000
		           在同一个局域网内,192.168.12.xx 这里面的人 都能访问
		   
# 0.0.0.0          及是127.0.0.1 又是 192.168.12.85 
			       python manage.py  runserver 0.0.0.0:8000
		   
		   
# 公网ip           全世界联网的人都能访问 
	               python manage.py  runserver 123.206.16.61:8000

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • day38(多进程) - 信号量、事件、进程队列(进程之间的通信)

    # 进程 A 将 event.clear()之后,进程 B 遇到 wait() 立即进入阻塞

    少年包青菜
  • day106-jupyter的简单运用&三种基本加密的概念

    少年包青菜
  • day39(多进程) - 管道、进程池、进程池的返回值、进程回调函数、进程之间的数据共享

    少年包青菜
  • 微信网页开发

    套用《围城》里老学究的的一句开场白:"兄弟我刚入行的时候…“兄弟我是很不喜欢微信这样一款应用的——尽管我在2011年就已经是微信的注册用户。在我看来,第一个,能...

    一粒小麦
  • 使用jMeter构造逻辑上有依赖关系的一系列并发请求

    相信前端开发工程师对CSRF(Cross-site request forgery)跨站请求伪造这个概念都非常熟悉,有的时候也简写成XSRF,是一种对网站的恶意...

    Jerry Wang
  • 使用jMeter的事务控制器去构造逻辑上有依赖关系的一系列并发请求

    相信前端开发工程师对CSRF(Cross-site request forgery)跨站请求伪造这个概念都非常熟悉,有的时候也简写成XSRF,是一种对网站的恶意...

    Jerry Wang
  • UE4

    sofu456
  • 做项目中没经验遇到的各种问题

    1.java基础不牢,关于对象和类的生命周期等不明白 在做app登陆token验证的时候。我设计一个tokenutil中添加一个成员变量map,每次登陆成功,将...

    Ryan-Miao
  • 177. [USACO Jan07] 有限制的素数

    177. [USACO Jan07] ★   输入文件:qprime.in   输出文件:qprime.out   简单对比 时间限制:1 s   内存限制:...

    attack
  • 12.12 静态文件不记录日志和过期时间

    静态文件不记录日志和过期时间目录概要 配置如下 location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ { ...

    运维小白

扫码关注云+社区

领取腾讯云代金券