Linux的super super super easy教程 | shell常用文本命令

shell入门及常用的文本命令:

不打引号也可以识别变量

ubantu默认是禁用root用户的,启用root的命令:sudo passwd root

默认情况下 root用户也是不能远程登录ubantu系统的

su – root 切换到root用户

sudo 是一个授权的命令 得到了root用户的授权

程序用户和系统用户差不多一个概念

0 root

1~201  系统安装好就有的用户 ==》系统用户(程序用户):用来登陆或启动某个程序

201~999  自己新建的系统用户(程序用户)

1000~60000 自己新建的用户(自己指定uid的时候可以超过60000 但是不指定的话如果超过60000 会找范围内的空闲uid)

useradd -r 用户名:创建系统用户 但是不会新建家目录

权限:

用户

进程

进程的组成:进程控制块(PCB) 代码  数据

PCB包含信息:1.进程状态(state)2.进程标识信息(euid,egid) 3.定时器(time)4.用户可见寄存器,控制状态寄存器,栈指针等(tss),进程标识符(pid)

权限

cpu里面一个时间片一般为10ms

Python里面的os库里面有个os.getuid()会出现运行这个python的用户的uid

权限:读 r    写 w   执行  x

文件:

       读 :命令: cat vim grep head tail more less

       写:命令:vim  >>   >

       执行:运行脚本里的命令: ./a.sh   /lianxi/a.sh

文件夹:

       读:命令: ls

       写:命令:cp  mv rm touch mkdir等

       执行:命令:cd

shell里面变量记得分隔开

chmod    +(-)x/r/w        路径    :给文件或者文件夹设置权限

chmod  三位数 文件名:这三位数分别对三个对象设置相应权限

直接运行文件:  ./文件  (需要给脚本文件授予可执行权限)

(shell解释器在帮助创建子进程的时候 需要检查权限)

  1. 使用相对路径 2.使用绝对路径

自己 user          陌生人 other            亲朋好友 group

一般都会给普通文件夹rx权限  但是家目录权限非常严格 为700

root用户不受权限的制约 就算是000 root用户也能读写执行

chmod:

这两个命令效果相同

-R:递归文件夹下面的所有子文件(放在命令最末尾)

默认情况下root用户新建的很多文件夹都是755

chmod 777 / -R     等同于  rm -rf /*

普通用户可以在自己的家目录和/tmp目录下新建文件夹 和使用chmod

对文件夹进行操作的的时候不需要看文件的权限 如删除文件

chown命令:必须是root用户操作  且用户和组必须存在

ss:查看哪些端口被哪些进程调用

服务后面有一个进程 进程会打开一个端口(一个端口只能被一个进程使用)

在内核级别,文件的初始权限666

在内核级别,文件夹的初始权限为777

umark(权限掩码): 控制默认权限,临时有效

(默认root为0022 第一个0代表八进制  普通用户为0002)

新建文件或者文件夹生效的权限:初始权限-umark

unset 取消变量

/etc/profile==》用来配置用户进入系统的环境变量的==》任何用户登录系统都会执行这个脚本

命令替换:` ab`=$(ab)

shell编程:

看zhaowei的笔记

命令1 &&命令2                  前面命令执行成功就执行后面

命令1||命令2                       前面的命令执行不成功就执行后面的命令

命令1&&命令2||命令3       前面的命令1执行成功就执行2,如果不成功就执行3

但是在if里面 &&表示与       ||表示或

面试:

你是如何学习shell编程/python等?

  1. 看shell编辑书籍或者技术网站,官方网站—》语法,案例—》知识的全面性
  2. 看Linux系统里自带的脚本
  3. 看工作中的同事们写的脚本
  4. 看视频—》版本比较老 已经更新

建立稀奇古怪的文件名 就用单引号标注

test方法和中括号方法一样的:[ -e file ]等同于test -e file

判断文件是否存在且是否为文件

[ -f file ]

判断文件是否存在且是否为可写文件

[ -w file ]

判断文件是否存在且是否为可执行文件

[ -x file ]

判断文件是否存在且是否为可读文件

[ -r file ]

判断文件是否存在且是否为目录文件

[ -d file ]

判断文件是否存在且是否为空文件

[ -s file ]

判断文件是否存在

[ -e file ]

[]和 test功能一样  -a和-o(和,或)

[]方法中,里面的字符与[]需要有空格隔开

-n 判断是否不为0    

-z 判断是否为0

${#变量}:得出变量名

cp -a:复制文件的时候 保留文件所有的属性

/tmp 是存放临时文件的 任何用户创建进程都可以在此处新建文件和文件夹

/root  root用户的家目录

/home  普通用户的家目录

/bin    存放可执行二进制程序

/usr    存放Linux系统资源:各种程序默认会安装到这个文件里

/etc  存放各种配置文件

chattr:设置文件的隐藏属性

-a 只能往文件或文件夹里追加内容 只增不减

(对于文件:用vim打开不能实现增加        所以只能echo 输入内容 >>文件名)

-i  不能动文件或者文件夹里的内容,不能增加和删除,不能修改

(加了隐藏属性之后 连root用户都被限制 了)

lsattr:查看文件的隐藏属性

-d:表示只显示此文件或者文件夹的隐藏属性

SET位权限:(一般用于可执行命令)

suid权限:普通用户在执行命令的时候,会以命令的拥有者(root)的权利去行使

Linux系统,默认所以的命令都是root的

使用chmod u+s 文件名: 赋予文件suid权限

使用chmod u-s 文件名 :取消文件的suid权限

普通用户 执行命令的时候以root用户的身份去执行

如果不管看会导致系统权限泛滥,出现安全问题

superuid   

如:如果给mkdir赋予了suid权限 则每个普通用户都可以以root用户身份去建文件夹

(组还是自己的)

原来有x权限的话是S        没有x权限的话是s

如 passwd命令就拥有suid权限 故普通用户都可以更改自己的密码

sgid:以文件属组的权限执行文件(如mkdir 用户还是自己的)

chmod g+s 文件名    chmod g-s 文件名

而chmod +s 文件名:新加了suid和sgid

进程里面有uid和euid(有效的uid)gid和egid(有效的gid)

粘滞位权限:(一般用于文件夹)

ACL:文件或者文件夹的访问控制列表,可以正对任意指定的用户/组

setfacl -m u:song:rwx test/    对于test文件给song这个用户增加读写执行的权限

setfacl -m g:song:rwx test/    对于test文件给song这个组增加读写执行的权限

两个一起写的时候,中间用逗号隔开

getfacl test:查看test的ACL

一个用户属于某个组会继承这个组的权限      1.主要组 2.次要组

用户的主要组(有效组)属于某个 组,会继承这个组的权限,如果是附属组属于某个组,也会继承

拒绝权限高于一切==》针对用户

如果一个用户 一个组允许 一个组拒绝 ==》最后就是允许

sudo授权

       Linux里root用户权限最大

       关机,重启系统IP地址,格式化磁盘,mount等

       普通用户权限非常小

如何让普通用户也具有一定的权限? 给root用户分忧

如果能授权,那么是授权给用户还是组?

乌班图默认是授权给组

Centos怎么这样授权

授权书:/etc/sudoers

如下:给用户授权(用户要设密码)

如下 给组授权就在组名称前面加 %

授权用户执行命令前面应该加一个 sudo

有一个日志会记录下被授权者的所有命令:/var/log/secure

/var  存放可变化的文件的

       log 日志文件 是不停的记录程序发生的事情

       secure  是与Linux安全相关的日志

              登录进入Linux,新建用户,设置密码

       messages  平时可以记录的日志,默认都记录到messages

       ==》rsyslogd进程会记录能记录的各种消息都会记录一份到messages文件里

       boot.log    :开机启动的过程中的日志

==

/bin:对权限没要求的命令

/sbin:有特权的用户(root)使用的命令     如useradd 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值