Linux 课堂笔记 野生版 2018.9.25

本人学生,整理的一些课堂笔记分享给大家

基本

用户名称(如RR,RubyRose)表示当前shell使用的用户 @表示分隔符
desktop当前shell所在的工作目录
working directory(~: user`s home directory)
¥表示普通用户 #表示超级用户
su: switch user(切换用户): su - users(su - root=su - )
退出:logout,exit
PID:进程ID:process ID (递增)

常用命令 及格式注释

目录(dev/sda:硬盘 ls /dev/sr0 ls dev/sd*)
• /bin: 存放普通用户的命令
• /sbin: 存放超级用户的命令
• /lib64:存放64位系统函数库
• /home:普通用户的家目录
• /root:root用户的家目录(只有一个)
• /usr:软件安装默认位置
• /etc:存放系统配置文件
• /boot:存放系统开机引导配置文件目录 还存放了Linux的内核
• /dev:存放设备文件
• /mnt /run /mi:外部存储设备挂载目录
• (最常见的是/mnt,最基础的是 /run)
• /run:存放journal日志
• /tmp:存放临时文件
• /proc:存放进程文件
• /var :文件存放默认位置

命令格式

基本
command [option1] [option2]……[option n] [object1] [object2]……[object n]:命令+参数+对象
参数格式:-字母(短格式),–list(长格式)
命令(部分可以补全,文件都可以补全)
• 清屏:clear
• cd:change directory :切换目录
• cd… :切换到当前目录的上层目录(…表示上层目录)
• cd- :切换到上次所在目录
• cd/cd - : 直接回到当前用户的家目录
• cd~user :去往user的家目录
• 相对路径和绝对路径的概念
• 路径(文件路径)
• 绝对路径:以根开头的路径(不管在哪都可以到想要的路径:cd /etc/sys/)
• 相对路径:不是以根开头的路径(cd …/)
• ls: list content(ls -option flie,若不加任何参数和文件,就表示列出当前所在目录的内容,ls . :表示当前目录)
• 当ls的操作对象是目录,就代表列出目录下的内容;当操作来说的对象是普通文件,就表示列出普通文件本身
• ls -l :以长格式显示文件
• 该文件的文件类型(-表示普通文件;d 表示目录文件;b表示块设备文件; l表示链接文件;s表示sock文件;p表示命令管道文件; c表示字符设备文件…),
• rw-r–r--: rw-:表示该文件拥有者对该文件的权限(r读权限 w写权限 x执行权限)
• r–: 表示该文件所属组内用户对该文件的权限
• r–:表示其他人对该文件的权限
• . 表示该文件具备SELinux特殊权限
• 1 :表示该文件的链接数量
• root:表示文件的拥有者
• root:表示文件的所属组
• 529:表示文件大小 ,单位B
cat:是一个文本文件查看和连接工具
cut:命令从文件的每一行剪切字节、字符和字段并将这些字节、字符和字段写至标准输出。
ls -a :列出所有隐藏文件;-h 和- l 一般一起使用()-lh,将文件大小显示成人类易懂的方式
• ls -d :列出目录本身属性,如果ls不加-d来查看一个目录,列出得是目录内的内容
• touch:创建一个普通文件
• mkdir:创建一个目录 ,mkdir -p:依次创建上级目录
• rm:remove 删除;rm -r:可删除目录(root下: rm -r -f cunzhe:删除时不提示) ;rm -i:删除目录时提’示 是否删除y/n
• root下 alias:查看别名 ;alias zz=‘ls’;
• cp :复制 (copy文件:目标是目录,名字不变直接粘贴过来;目标是文件,)(cp -a:copy目录);diff download passwd: 比较两个文件的差异;
• mv :剪切
• mv passwd passwd.nwe :改名
• 查看文件:cat普通查看 tac和cat一样,只不过输出顺序和cat相反 more分页查看,只能前进不能后退 less分页查看,可进可退 (q退出)
• head查看文件前n行(默认前10行,head -3:前3行)
• tail查看文件后n行
• 编辑文件:emacs文件编辑器->vi编辑器->vim编辑器(gcc编译器)
• /bin/vi /etc/passwd; vim etc/passwd;
• vim:当使用vim编辑文件时,首先进入的是命令模式,如果想退出 本次编辑 输入:q!表示强制退且不保存,若想保存 输入:wq 或者:x表示保存并退出;所有模式里,狂按esc,总能退回到命令模式。
• vim想编辑文件需要进入编辑模式,在命令模式下输入:
i在光标前一个字母开始
I在光标所在行行首开始
a在光标后一个字母开始
A在光标所在行行尾开始
o在光标所在行下面另起一行开始
O在光标所在行上面另起一行开始

命令模式操作:

• gg表示光标直接跳到文件首行的首字母,
• G表示光标直接跳到文件末行,
• nG表示直接跳到文件第n行(n表示一个数)
• x表示删除光标所在位置字符,如果连续删除,从右侧删除
• X表示删除光标所在位置左侧字符,如果连续删除,从左侧继续删除
• r表示替换光标所在位置字符,
• R表示从光标所在位置开始连续替换后续字符,
• yy表示复制光标所在行,3.2
• nyy表示复制包括光标所在行的后n行(n表示一个数字),
• dd表示删除光标所在行(删除的行,p也能粘贴,P能粘贴)
• ndd表示删除包括光标所在行的后n行,
• p表示将复制的行粘贴到光标所在行的下一行
• P表示将复制的行粘贴到光标所在行的上一行
• u表示撤销上一次行为
• h表示光标左移一个字母
• j表示光标下移一个字母
• k表示光标上移
• l表示光标右移
末行模式操作:命令模式——>末行模式:输入:或者/即可;
• :的末行模式:q表示退出,w表示写入,r表将一个文件的内容读取且输出到该文本,
• q!表示强制退出不保存,x表示保存且退出,注意 只能保存有写权限的文件,
• :set number表示对该文本临时设置行号,
• :set nonumber对该文本取消设置行号,
• :替换范围s/替换前内容/替换后内容/[g];
• :1,3s/n/N/ 将1到3行查到的第一个 小写的替换成大写的;
• :2,5s/rr/RR/
• :1,$s/rr/ww / 所有内容里面的rr替换成ww
• 注意,在替换命令中,如果最后一个"/"后面加上g表示将每一行所有找到的需要替换的内容全部进行替换,如果不加上g,则表示只替换每一行第一个需要替换的内容;

• /的末行模式 / qemu :在当前文本状态下查找所以包含qemu的字段,n/N

• 可视化模式操作:命令模式——>可视化模式 输入V或v或 Ctrl+v
• V只能选择整行字段,v支持每一行部分选取,Ctrl+v成块选取
• 在选取后,x表示删除 y表示复制 d表示剪切
• vimtutor通过该命令获得vim更深层次的教学,export 。。

useradd user :创建一个新用户
Ctrl+shift+t :多创建一个新的伪终端
Ctrl+d :关闭当前的伪终端
printing working direcrtory: pwd
mkdir /: 创建一个目录
file management
直接在根下面的目录是一级目录
通配符
• ""是通配符,表示匹配0-n个任意字符
• “?”表示匹配任意一个非空字符
• “ \”叫做转义字符,能将特殊的符号失去其特殊功能
• “[]” 通配符的功能是匹配中括号里面的任意一个字符
• [a-Z]:所有字母都匹配出来
• [a-z][a-z]:以ab开头,后面是两个字母
• [0-9]
[a-z]:以ab开头,第三个字符是数字,结尾是字母
• Touch:更新时间戳 touch 文件名*
• Touch file{1…1000}:批量创建 rm file*/rm flie{1…1000}:批量删除

输出重定向

Echo $? 判断上一条命令是否正确
0:正确 非0:错误
cat /etc/hosts > ~ RR/hosts.bak 将/etc/hosts的输出重定向到zwh家目录下的host.bak文件中
cat /etc/hosts >> ~RR/hosts.bak>覆盖,>>追加,但无论哪个,都只能重定向正确输出
LS 2> ls.list:表示错误输出覆盖,2>>表示错误输出追加,
&>无论正确还是错误输出都可以重定向(覆盖),&>>追加
find / -name hosts.bak (>>~zwh)
2>&1 1>&2

输入重定向

当某些命令需要输入时,可使用输入重定向,避免人工手工输入
Mail -s “xx” RR < /etc/passwd 把passwd里的内容邮件发给RR,以“.”结束
Mail -s “xx” RR << /etc/passwd 以“/etc/passwd”结束
查看mail /var/mail/ /var/spool/mail/
pipe管道 输出变输入
Cat /etc/passwd |
Grep 需要抓取的内容 文件名
Cat /etc/passwd | grep xx
Echo 1 | passwd --stdin zwh >> /dev/null 输出1变成RR用户的密码, ctrl alt f2 验证密码

(网络用户和本地用户区别 用户信息存放位置不同)
配置 文件
/etc/passwd 存放用户登录信息
• 七个字段
• Username(不能重复); 密码信息 ;UID(数字);GID(数字);描述信息; 用户家目录位置 ;用户shell(常见的 /bin/bash);
• UID userID 计算机标识 ;username用户标识;group ID 用户的primary group(主要组) attached group(附加组);nologin表示这个shell是不能登录的shell(/usr/sbin/nologin);
• 创建用户 Useradd (adduser)zz -u 1500 -g 2000 -c “test” -d /zz -s /bin/csh -G 3000
-u 系统UID -g 系统GID -c 用户描述信息 -d 指定用户家目录 -s 用户shell -G 附加组
• 创建组 groupadd -g 2000 test-group
groupadd -g 3000 test-group1
• 查看 tail -1 /etc/passwd
• 查看用户基本信息 id zz(包括它属于的所有的组)
• 修改用户 usermod zz1 -u 1501 -g 2001 -c “test1” -d /zz11 -s /bin/bash -G 3001
groupadd -g 2001 test-group2
groupadd -g 3001 test-group3
• 删除用户 userdel zz1 删除用户但保留用户的家目录和邮件池
ls /var/mail/
ls /home/
userdel -r zz1 删除用户的同时,删除邮件池和家目录
/etc/shadow 用户密码信息
/etc/group 用户组信息
• 四个 组名 ;密码;组ID; 组内用户;
• groupadd -g 5000 group1
• useradd zzz
• Su - zzz
• Id zzz(GID一定是primary group)
• Touch zzz.test
• ls-l
• Groupadd -g 6000 group2
• Id zzz
• Usermod -G group2 zzz
• Usermod -aG group1 zzz 把group1作为zzz的另一个附加组
• Groupadd -g 7000 group3
• Gpasswd -a zzz group3 将zzz 加到组3
• Gpasswd -d zzz group1 将zzz从组1 删除
• Groupdel group2 将组2 删除
• Newgroup test-group 临时切换组
• Gpasswd group 给group设置密码 临时获得一个该组的shell
/etc/gshadow 用户组密码信息
• Ls -l /etc/gshadow
• Vim /etc/gshadow 九组
• 用户名称 ;密码信息(!表示当前账号被锁住)(SHA256算法加密);上次修改密码时间(上次修改密码日期减掉1970.1.1后的天数);密码最小有效期(密码最小使用天数);密码最大有效期;密码到期前警告日期; 密码到期后宽限日期;具体账号失效日期;保留;
• Passwd -l lock一个用户密码
• -d 删除一个用户密码
• -u 解锁一个用户密码
• -e 设置失效日期
• -x 最大有效期
• -n最小有效期
• -w 到期前警告日期
• -i宽限日期
–stdin 接收标准输入
Passwd -e 2018-4-1 -n 2 -x 10 -w 5 -I 6 natasha
• 查看 Grep xxx /etc/shadow
• 设置密码Passwd natsha 1;echo
• chage -d 设置上次修改密码时间
• -E 密码过期时间
• -I宽限
• -M最大
• -m 最小
• -w警告日期
• Echo indionce | passwd --stdin xxx
Windows Win+mstsc : 调出一个远程桌面

权限

• 1.普通文件 r表示能查看文件内内容 w表示能修改文件内内容 x表示能执行该文件
• 执行一个文件就是要以绝对路径和相对路径执行它
• 2.目录的 x权限表示能进入该目录 w 表示能在该目录下创建或删除文件 r表示能查看目录下文件
• 对于一个目录来说只有三种权限是有意义的 —表示没有权限;r-x 表示有查看权限;rwx表示有创建和删除的权限
• 3.chown更改文件拥有人 chgrp更改文件所属组
• Chmod u/g/o/a +/-/= r/w/x 修改文件权限
• u表示拥有人 g表示所属组 o表示其他人 a表示所有人
• +表示增加权限 -表示去除权限 =表示直接赋予权限
• r表示读权限 w表示写权限 x表示执行权限
• 操作多个:
• Chmod XXX file 每个X都表示一类人的权限,第一个表示拥有人权限,第二个表示所属组,第三个表示其他人,X范围 0-7
• 同一个文件对不同人有不同权限 acl
• Setfacl -m u:D:— file1 对file1设置acl权限,-m表示修改,u表示针对单个用户进行修改,D表示针对D用户进行修改,—表示没有权限
• Getfacl file1查看file1的acl权限 #表示注释 ,user表针对单个用户权限,
• Setfacl -x u:D file1 删除u的权限
• Setfacl -b file1 删除file1的所有acl权限

特殊权限

• SET UID
• 如果文件拥有者权限中有s,就表示该文件被设置了SET UID;S没有执行权限,s有执行权限
• 如果一个文件被设置了SET UID权限,那么当任何人执行该文件时,会临时获得该文件拥有者权限
• Chmod u-s /bin/passwd 删除SET UID权限
• SET GID
• 是针对目录设置的特殊权限,如果一个目录被设置了setgid 特殊权限,那么任何用户在该目录下创建的文件,所属组都会变成该目录文件所属组
• Chmod g+s xxx
• Sticky
• Chmod o+t xxx
• 限制了一个用户对目录的写

查看ip地址: ifconfig
配置文件位置 /etc/sysconfig/network-scripts
vim ifcfg- static : 以太网 DHCP 地址 掩码 …
配置文件和网卡可以有多份;
同一个时间点一个网卡最多可以使用一个配置文件;
图形GUI操作 nm-connection-editior
命令CLI操作 nmcli (network manager command line interface)
• Nmcli (可补全) connection/device
• connection 针对配置文件的操作, device针对网卡的操作;
• Nmcli device status 表示查看网卡状态 :DEVICE设备名称 type网卡类型 state网卡状态 connection网卡当前使用的配置文件名称
• nmcli device connect 网卡名称 表示连接一个网卡
• Nmcli device disconnect 网卡名称 表示断开一个网卡连接
• Nmclil device show 表示查看网卡硬件信息 ( nmcli device show | less 分页查看硬件信息)
• nmcli connection add 表示添加一个配置文件
• Nmcli conneciton Delete 表示删除一个配置文件
• Nmcli connection Down 表示让一个配置文件失效
• Nmcli connection Up 表示让一个配置文件生效
• Nmcli connection Modify表示修改一个配置文件
• Nmcli connection Show 表示查看一个配置文件 :表示配置文件名 UUID表示配置文件唯一标识 表示配置文件类型 表示配置文件服务的网卡名称
• Nmcli connection add con-name ergou type ethernet ifname eno16777736 ( 至少要添加这三个) ip4 2.2.2.2/24 gw4 2.2.2.254 若不加,dhcp自动获取地址
• 配置文件名称 配置文件类型 该配置文件所服务的网卡名
• type类型 bridge 、 ethernet 、team-slave、 bond、 bridge-slave、 team 、bond-slave、pppoe
• DNS只能在修改时加上
• Nmcli connection modify zzz ipv4.dns 114.114.114.114 ipv4.addresses “1.1.1.1/24 1.1.1.254” ipv4.method manual
• Nmcli con delete 名称或者UUID
• Nmcli con up /down 配置文件名称

安装

安装软件分为两种方式
• 一是源码包安装 :需要编译器把源码变成二进制数;
• 二是二进制包安装
• RPM安装:需要手工解决软件的依赖问题
• yum安装:会自动解决软件的依赖问题
软件依赖:A->B->C ;
• 三种依赖:一是树形依赖 二是环形依赖 三是模块依赖:依赖于某个软件里的某个组件
• 光盘(只读不写 ) /dev/sr0 ---->挂载 mount 挂载设备 挂载目录 ; 软件包在/mnt/packages里
• 表示安装一个软件 : rpm -ivh 软件包 --force (强行安装)
• 表示卸载一个软件 : rpm -evh 软件包
• 表示查看所有安装的软件: rpm -qa 、 rpm -qa | grep passwd
• 表示查看软件包的安装路径 : rpm -ql xxxx
• 表示 rpm -qf /bin/ls
• Httpd-版本.rpm : -17表示软件被发行 了17次 .el7表示该软件被适用于rhel7平台和centos平台 -64表示是64位软件 x86表示适用于x86架构 noarch表示适用于任何平台 ;
优势 百度

  1. /mnt/repodata /etc/yum. repos.d (repository) 库的配置文件存放位置
    • yum只能安装以.rpm结尾的软件包
    • 创建一个配置文件 vim iso.repo ;file://表示本地; enabled表示当前仓库处在可使用状态;
    baseurl定义库管员位置
    [iso]
    name =iso- rhel7
    baseurl = file:///mnt
    enabled =1
    ~
    :wq
    • 若加gpgcheck =0 则不进行gpg校验
    • Rpm --import /mnt/RPM.GPG.KEY.redhat.beta /release 导入gpg.key
    • Yum history 查看安装过的软件包
    • Yum groups;Version 列出相应软件版本;remove卸载;Repolist 重新安装; Provides; Info; Help; Install安装; List; Clean ; Update更新软件包; Upgrade更新系统; search
    • yum list查看能安装的软件
    • yum repolist 列出repo ID(仓库列表)
    • yum clean all 清除缓存
    • yum search xxx 查找带xxx的软件
    • Yum history info x
    • Yum history undo x
    本地安装
    • 网络适配器:NAT
    • 新建一个配置文件(dhcp获取地址)
    • 使用这个配置文件
    • 在 /etc/yum. repos.d 下vim centos.repo (baseurl =要更新的系统镜像的链接地址)
    • Wget 链接地址
    • Rpm --import…………….
    • Cat /etc/redhat.release 查看当前系统版本
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值