linux---操作命令/文件与目录的权限/软连接/
1. 常用操作命令
树状形式显示
yum install tree
查看前5个进程
ps aux | head -n5
top(linux任务管理器)
top
tail(动态监测文件变化)
tail -f access.log
wget下载文件
# 下载安装wget
yum install wget# 格式
wget 路径 默认下载在当前路径# 案例
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-repo
压缩解压
Windows的压缩包与Linux的压缩包能否互通
windwods:rar,zip
linux:tar.gz, zip互通,不支持rar
tar打包与压缩参数(******** 常用 ********)
tar 命令:用来压缩和解压文件。
tar本身不具有压缩功能。他是调用压缩功能实现的
tar(选项)(参数)
-A或--catenate:新增文件到以存在的备份文件;
-B:设置区块大小;
-c或--create:建立新的备份文件;
-C <目录>:这个选项用在解压缩,若要在特定目录解压缩,可以使用这个选项。
-d:记录文件的差别;
-x或--extract或--get:从备份文件中还原文件;
-t或--list:列出备份文件的内容;
-z或--gzip或--ungzip:通过gzip指令处理备份文件;
-Z或--compress或--uncompress:通过compress指令处理备份文件;
-f<备份文件>或--file=<备份文件>:指定备份文件;
-v或--verbose:显示指令执行过程;
-r:添加文件到已经压缩的文件;
-u:添加改变了和现有的文件到已经存在的压缩文件;
-j:支持bzip2解压文件;
-v:显示操作过程;
-l:文件系统边界设置;
-k:保留原有文件不覆盖;
-m:保留文件不被覆盖;
-w:确认压缩文件的正确性;
-p或--same-permissions:用原来的文件权限还原文件;
-P或--absolute-names:文件名使用绝对名称,不移除文件名称前的“/”号;
-N <日期格式> 或 --newer=<日期时间>:只将较指定日期更新的文件保存到备份文件里;
--exclude=<范本样式>:排除符合范本样式的文件。
tar压缩解压案例
# tar打包与压缩(******** 常用 ********)# 解压tar -xf xx.tar.gz # 解压xx.tar.gztar -zxvf Python-3.7.0b3.tgz # 解压tar -xjf xx.tar.bz2 # 解压缩bz2结尾的文件tar -xzvf xx.tar.gz # 解压tar.gz,详细过程列出来tar xf /etc/local.tar.gz -C /tmp # C指定解压到哪个路径# 压缩 tar -czvf 压缩包名称 压缩文件tar -czvf oldboy.txt.tar.gz oldboy.txt # 压缩oldboy.txt tar -cf all_pic.tar *.jpg # 压缩当前目录所有jpg结尾的文件
gzip (只能压一个文件,不能压文件夹,会把原来的删除)
gzip (只能压一个文件,不能压文件夹,会把原来的删除)gzip filegzip -d file有什么用?cd /etc/yum.repos.d/
zip的压缩和解压
3 zip的压缩和解压yum install zip unzip -yzip filename.zip filename # 压单个文件zip -r home.zip /home/ #把home文件夹压缩unzip home.zip #解压unzip -l home.zip # 不解压,看内容unzip home.zip -d /opt/ # 把当前路径下的home.zip 解压到opt
curl:连通性
# 下载安装
yum install curl# 用处测试连通性或者下载
你的django:127.0.0.1:8080端口,先在本地curl一下,看看能不能通,可能是防火墙,阿里云的安全组# 案例下载(-o 指定位置以及名称)
curl -o /home/a.png https:72743-20190.png# 查看网站用的是什么类型的web服务器
curl -I www.taobao.com
上传下载 (4g以内)
# 下载安装
yum install lrzsz -y# 使用
rz:上传,选择文件直接上传
sz:sz 文件路径 可以下载到当前主机
sort
# 案例
sort file.txt 对内容进行排序
sort -t ":" -k2 file.txt
sort -t ":" -n -k2 file.txt
uniq 去重
uniq 去重,连续挨着的才能去,所以要跟sort连用sort file2.txt | uniq
wc
wc -l /etc/services # 统计当前路径下有多少文件和文件夹
ls | wc -l # 统计有多少个ssh相关的进程
ps aux |grep ssh | wc -l
查看系统版本信息
#查看系统版本信息
cat /etc/redhat-release
CentOS Linux release 7.4.1708 (Core) #查看内核版本号
uname -r
3.10.0-693.el7.x86_64#查看系统多少位
uname -m
x86_64#查看内核所有信息
uname -a
netstat命令
netstat命令用来打印Linux中网络系统的状态信息,可让你得知整个Linux系统的网络情况。
yum install net-tools
# 语法【选项】
netstat [选项]
-t或--tcp:显示TCP传输协议的连线状况;
-u或--udp:显示UDP传输协议的连线状况;
-n或--numeric:直接使用ip地址,而不通过域名服务器;
-l或--listening:显示监控中的服务器的Socket;
-p或--programs:显示正在使用Socket的程序识别码和程序名称;
-a或--all:显示所有连线中的Socket;# 实例
[root@oldboy_python ~ 10:21:59]#netstat -tunlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 1/systemd
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 814/sshd
tcp6 0 0 :::111 :::* LISTEN 2703/rpcbind
tcp6 0 0 :::3306 :::* LISTEN 29269/mysqld
udp 0 0 0.0.0.0:758 0.0.0.0:* 2703/rpcbind
udp 0 0 0.0.0.0:111 0.0.0.0:* 2703/rpcbind
ps命令
- ps命令用于报告当前系统的进程状态。
- 可以搭配kill指令随时中断、删除不必要的程序。
- ps命令是最基本同时也是非常强大的进程查看命令,使用该命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵死、哪些进程占用了过多的资源等等,总之大部分信息都是可以通过执行该命令得到的。
ps (参数)-e 显示所有程序
-f 显示UID等详细信息
-a 显示所有终端机下执行的程序,除了阶段作业领导者之外a 显示现行终端机下的所有程序,包括其他用户的程序x 显示所有程序,不以终端机来区分u 以用户为主的格式来显示程序状况
-u <用户识别码> 此选项的效果和指定”-U”选项相同
-p <程序识别码> 指定程序识别码,并列出该程序的状况ps -ef|grep mysql
ps -ef|grep redis-server
参考实例# 把所有进程显示出来:
ps -aux
ps -A# 把所有进程显示出来,并输出到ps.txt文件:
ps -aux > ps.txt# 查找特定进程信息:
ps -ef | grep ssh# 显示指定用户信息:
ps -u root# 按 CPU 资源的使用量对进程进行排序:
ps aux | sort -nk 3# 按内存资源的使用量对进程进行排序:
ps aux | sort -rnk 4
Kill命令
kill命令用来删除执行中的程序或工作。kill可将指定的信息送至程序。
# 选项
-a:当处理当前进程时,不限制命令名和进程号的对应关系;
-l <信息编号>:若不加<信息编号>选项,则-l参数会列出全部的信息名称;
-p:指定kill 命令只打印相关进程的进程号,而不发送任何信号;
-s <信息名称或编号>:指定要送出的信息;
-u:指定用户。# 只有第9种信号(SIGKILL)才可以无条件终止进程,其他信号进程都有权利忽略,
下面是常用的信号:
HUP 1 终端断线
INT 2 中断(同 Ctrl + C)
QUIT 3 退出(同 Ctrl + \)
TERM 15 终止
KILL 9 强制终止
CONT 18 继续(与STOP相反, fg/bg命令)
STOP 19 暂停(同 Ctrl + Z)# 实例
先用ps查找进程,然后用kill杀掉:
ps -ef | grep vim
root 3268 2884 0 16:21 pts/1 00:00:00 vim install.log
root 3370 2822 0 16:21 pts/0 00:00:00 grep vim
# 命令
kill 3268
pkill杀死进程
- 支持正则的kill命令
pkill nginx
pkill uwsgi
查看磁盘
df -h
selinux防火墙
- SELinux(Security-Enhanced Linux) 是美国国家安全局(NSA)对于强制访问控制的实现,这个功能管理员又爱又恨,大多数生产环境也是关闭的做法,安全手段使用其他方法。
大多数ssh连接不上虚拟机,都是因为防火墙和selinux阻挡了
永久关闭方式:
1.修改配置文件,永久生效关闭selinux
cp /etc/selinux/config /etc/selinux/config.bak #修改前备份2.修改方式可以vim编辑,找到
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=disabled3.用sed替换
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config4.检查状态
grep "SELINUX=disabled" /etc/selinux/config# 出现结果即表示修改成功
临时关闭selinux(命令行修改,重启失效):
getenforce #获取selinux状态
#修改selinux状态
setenforce
usage: setenforce [ Enforcing | Permissive | 1 | 0 ]
数字0 表示permissive,给出警告,不会阻止,等同disabled
数字1表示enforcing,表示开启# Tip:
修改selinux配置后,想要生效还得重启系统,技巧就是(修改配置文件+命令行修改,达到立即生效)
生产环境的服务器是禁止随意重启的!!!!
iptables防火墙
- 在学习阶段,关闭防火墙可以更方便的学习,
- 在企业环境中,一般只有配置外网ip的linux服务器才会开启防火墙,
- 但是对于高并发流量的业务服务器仍然是不能开启的,会有很大性能损失,
- 因此需要更nb的硬件防火墙。
关闭防火墙具体操作如下:
centos7默认已经使用firewall作为防火墙了# 关闭防火墙
iptables -F # 临时关闭防火 允许所有的端口出去,清空所有的规则
systemctl status firewalld # 查看防火墙状态
systemctl stop firewalld # 关闭防火墙
systemctl disable firewalld # 关闭防火墙开机启动
systemctl is-enabled firewalld.service # 检查防火墙是否启动
hostnamectl 设置主机名
# 修改
hostnamectl set-hostname pyyuc
# 查看
hostname
DNS
- DNS(Domain Name System,域名系统),万维网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。
- 通过域名,最终得到该域名对应的IP地址的过程叫做域名解析(或主机名解析)。
# 查看Linux的dns,唯一配置文件3 配置文件
cat /etc/resolv.conf#dns服务器地址
nameserver 119.29.29.29
nameserver 223.5.5.5
本地强制dns解析文件/etc/hosts
指定本地解析:
/etc/hosts主机IP 主机名 主机别名
127.0.0.1 www.pyyuc.cn
2 文件与目录的权限篇
介绍
- Linux权限的目的是(保护账户的资料)
- Linux权限主要依据三种身份来决定:
- user/owner 文件使用者,文件属于哪个用户
- group 属组,文件属于哪个组
- others 既不是user,也不再group,就是other,其他人
- 在Linux中,每个文件都有所属的所有者,和所有组,并且规定了文件的所有者,所有组以及其他人对文件的,可读,可写,可执行等权限。
- 对于目录的权限来说,可读是读取目录文件列表,可写是表示在目录内新增,修改,删除文件。可执行表示可以进入目录
如何查看权限
ls -l
ls -lh 以人性化显示,kb,gb
文件类型参数介绍
文件类型
文件类型:
- #普通文件(文本, 二进制, 压缩, 图片, 日志等)
d #目录文件b #设备文件(块设备)存储设备硬盘 /dev/sda1, /dev/sda2
c #设备文件(字符设备),终端 /dev/tty1, /dev/zero
s #套接字文件, 进程间通信(socket)
p #管道文件
l #链接文件
通过file来查看详细的类型
file a.txt
file /bin/ls
权限参数
ls -l /var/log/mysqld.log
-rw-r--r-- 1 mysql mysql 6735642 8月 11 14:19 /var/log/mysqld.log
这个就代表mysqld.log文件属主是mysql,属组是mysql,只有mysql用户可以读取编写这个文件,其他人只能读此文件。
权限计数
- 我们已知三种身份权限(属主,属组,其他人),每种身份都有rwx的三种权限,系统还提供了数字计算权限。
r read 4
w write 2
x execute 1
每种身份最低是0分,最高是r+w+x 7分
因此三种身份,最高权限是777,最低是000
-rw-rw-r-- 1 root root 0 8月 11 16:41 pyyu.txt
因此可知pyyu.txt的权限是
属主是6 r+w(4+2)
属组是6 r+w(4+2)
其他人是4 r(4)
id命令查看用户信息
# id指令查看用户所属群主
[root@ymq t1]# id
uid=0(root) gid=0(root) groups=0(root) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[root@ymq t1]#
修改文件属性
普通用户只能修改自己的文件名,时间与权限(注意)
因此修改其他用户权限,只能用最nb的root用户
切换root用户
当前/tmp/pyyu.txt文件以存在,且信息是
-rw-rw-r-- 1 pyyu pyyu 0 8月 11 16:41 pyyu.txt# 切换用户
su -
修改属主为root
[root@oldboy_python /tmp 16:43:12]#chown root pyyu.txt
查看信息
[root@oldboy_python /tmp 16:43:42]#ll pyyu.txt
-rw-rw-r-- 1 root pyyu 0 8月 11 16:41 pyyu.txt
修改属组
# chgrp[root@oldboy_python /tmp 16:43:42]#ll pyyu.txt
-rw-rw-r-- 1 root pyyu 0 8月 11 16:41 pyyu.txt
[root@oldboy_python /tmp 16:44:59]#chgrp root pyyu.txt
[root@oldboy_python /tmp 16:45:51]#ll pyyu.txt
-rw-rw-r-- 1 root root 0 8月 11 16:41 pyyu.txt
修改文件/目录的权限
chmod [身份] [参数] [文件]u(user) +(添加) g(group) -(减去)o(other) =(赋值)a(all)# 案例
当前权限
-rw-rw-r-- 1 root root 0 8月 11 16:41 pyyu.txt
方法1
减去属主的写权限
chmod u-w pyyu.txt
查看权限
-r--rw-r-- 1 root root 0 8月 11 16:41 pyyu.txt
方法2
属主添加可读可写可执行权限
chmod 700 pyyu.txt
属主可读可写可执行
属组可读可执行
其他人可读可执行
chmod 755 pyyu.txt
修改文件名,修改文件更改日期
mv pyyu.txt chaoge.txt
#触摸,修改时间
touch chaoge.txt
3 软连接,硬连接
软连接,硬连接介绍
- 软连接也叫做符号链接,类似于windows的快捷方式。
- 常用于安装软件的快捷方式配置,如python,nginx等
- 软链接新建inode
- 硬链接新建一个filename,指向同一个inode
- 建立软连接一般建立到user/bin
- 建立以后,直接在当前就可以启动,不然需要进入到改软件得bin目录下启动
# 格式
ln -s 目标文件 软连接名# 1.存在文件/tmp/test.txt
[root@master tmp]# ls -l
-rw-r--r-- 1 root root 10 10月 15 21:23 test.txt# 2.在/home目录中建立软连接,指向/tmp/test.txt文件
ln -s /tmp/test.txt my_test# 3.查看软连接信息 ls -l
lrwxrwxrwx 1 root root 13 10月 15 21:35 my_test -> /tmp/test.txt# 4.通过软连接查看文件
cat my_test# my_test只是/tmp/test.txt的一个别名,因此删除my_test不会影响/tmp/test.txt,
但是删除了本尊,快捷方式就无意义不存在了
4. 参考文章
pythonav资源分享https://pythonav.com/wiki/detail/3/30/
linux---操作命令/文件与目录的权限/软连接/相关推荐
- 用一个小案例来解释linux中文件或目录的权限
Linux中文档和目录的权限 众所周知 , Linux中文档的权限包括所有者权限(User).同组权限(Group)和其他权限(Other).使用rwx来作为表示,分别为read.write和exec ...
- 【Linux】文件、目录与权限
一.Linux权限的概念 Linux下有两种用户:超级用户(root)和普通用户(user) 超级用户:可以在Linux下做任何事 普通用户:权限有限,有些行为不被允许 超级用户的命令提示符为**#, ...
- Linux创建文件或目录的权限
一.Linux文件的权限 1.文件创建时的默认权限是666,也就是没有执行权限rw-rw-rw-,普通文件的执行权限系统会默认去掉:目录的默认权限是777,也就是满权限rwxrwxrwx. 2 ...
- Linux新建文件和目录的权限
新建文件的默认权限:666-umask,如果所得结果某位存在执行(奇数)权限,则将其权限+1,偶数不变 新建目录的默认权限:777-umask 非特权用户umask默认是002 root的umask默 ...
- java 在linux创建文件或目录 设置权限
1. //Runtime.getRuntime().exec("chmod 777 /home/test3.txt"); 2. file.setExecutable(true);/ ...
- Linux常用命令(本篇包括,Linux目录结构介绍、Linux Shell介绍、9个常见命令介绍、文件的概念、文件的操作(20个)、目录的操作、文件和目录的权限、文件压缩及解压缩)
Linux常用命令(本篇包括,Linux目录结构介绍.Linux Shell介绍.9个常见命令介绍.文件的概念.文件的操作(20个).目录的操作.文件和目录的权限.文件压缩及解压缩) ...
- Linux学习笔记三【文件及目录的权限管理篇】
文件及目录的权限管理 上篇简单介绍了下文件和目录的一些简单的操作,接下来介绍用户和文件权限的管理.首先了解用户和组账号的配置文件,然后是管理用户和组账号,最后要会设置文件和目录权限和归属. Linux ...
- linux 权限属性,linux 文件或目录的权限和属性
1.windows 和linux文件类型的区别 windows 里是通过扩展名来区分文件类型的:linux里文件扩展名和文件类型没有关系,为了容易区分和箭筒用户使用的windows的习惯,我们也会用扩 ...
- linux如何建立隐藏目录,【Linux】文件与目录的默认权限与隐藏权限
01. 文件默认权限:umask 文件的权限可以使用chmod来改变,但是我们默认创建文件的权限是什么?那就是与umask这个有关了.下来我们学习这个指令 1.1 简单使用umask [root@iZ ...
- Linux——文件或目录的权限管理、网络管理、进程管理、服务管理的相关命令
1.文件或目录的权限管理命令 一个用户至少属于一个组,也可以属于多个组:一个文件或者目录也必须属于一个,并且只能属于一个组: 在一个文件或者目录看来,linux系统中所有的用户可以分为三类:所有者:同 ...
最新文章
- Bellman-Ford算法——为什么要循环n-1次?图有n个点,又不能有回路,所以最短路径最多n-1边。又因为每次循环,至少relax一边所以最多n-1次就行了!...
- 集成算法中的Bagging
- 博客园添加访问人数统计超详细教程
- git http仓库账号密码缓存至本地:不用每次git push都需要输入密码的方法(类似于windows的凭据管理)
- C++二叉搜索树(Binary Search Tree)(附完整源码)
- 面试题:如何实现一个深拷贝
- 阜阳市乡镇企业中专学校计算机教师高翱简介,2017年中南林业科技大学博士研究生奖助学金...
- Docker小白到实战之Docker网络简单了解一下
- vue aplayer 进度条无法拖动_「最近项目小结」使用Vue实现一个简单的鼠标拖拽滚动效果插件...
- docker视频教程 假装听听 应该还行
- centos8 yum源配置
- 世界上最简单的会计书-笔记
- 计算机主机hdmi接口是什么意思,hdmi接口是什么 hdmi是什么意思
- Cxgrid控件中限制单元格输入类型以及显示格式
- ArcGIS使用(二)ArcGIS加载天地图
- 【Nas/群晖/服务器】FRP内网穿透实现外网访问
- 创建添加学生信息的vue实例
- 微信服务器每年维护成本,运维工匠熊普江:微信精细化运维,每年节省带宽成本14亿!...
- Windows7更换锁屏壁纸
- 前端项目自动生成i18n国际化语言文件插件
热门文章
- 盲目的相信——写在购买陆谷孙先生主编的《英汉大词典》之后
- 基于Java毕业设计大学生旅游拼团网站源码+系统+mysql+lw文档+部署软件
- Mugeda (木疙瘩)H5案例课—交互动画类H5制作-岑远科-专题视频课程
- EAUML日拱一卒-活动图::14.2 Behavior StateMachines (6) - Transitions
- 8086CPU段寄存器笔记
- python xlwt_python使用xlwt编辑excel
- 有没有能PC远程控制安卓手机的App?AirDroid实现PC远程控制安卓
- 超简单的HIDPI设置
- win10 SVN 图标不显示的解决办法
- Linux U盘检测与速度测试源码