Linux day1-day2
1. 连接讲师操作界面
Applications-->Internet-->TigerVNC-->172.25.254.250:8
2. 截图
PrtSc 保存位置:Places-->Pictures
3. 加入拼音
Appliactions-->SystemTools-->Settings-->Region&Language--> + -->Chinese(IntelligentPinyin)
4. 记录笔记
1) 虚拟机管理命令
rht-vmctl <动作><目标(desktop/server)>
rht-vmctl startdisktop 启动虚拟机
rht-vmctl viewdisktop 打开虚拟机
rht-vmctlpoweroff disktop 关闭虚拟机
rht-vmctl resetdisktop 重置虚拟机
2) 用户登录
root用户普通用户
3) 打开bash
右键-->Open Terminal
命令:gnome-terminal
创建快捷键:Appliactions-->SystemTools-->Settings-->Keyboard-->Shortcuts--> + --> command: gnome-terminal-->点击自定义快捷键
4) 命令行提示符
kiosk 运行 bash的用户
foundation0 bash所在主机短名称
@ 信息分隔符
Desktop 当前默认操作目录
$ 用户身份提示符 # 表示超级用户
5) hostname:显示系统主机名称
hostname 名称:修改系统主机名称
logout: 登出
6) date:显示当前系统时间 SatFeb 3 00:57:31 EST 2018
date +%H:%M:%S :00:58:26
date +%T : 00:59:27
date +%Y-%m-%d:2018-02-03
date +%F:2018-02-03
date -d +3day:Tue Feb 6 01:00:54 EST 2018 向后推迟3天
date -d +3min:Sat Feb 3 01:05:18 EST 2018 向后推迟3分钟
date -d +3year:Wed Feb 3 01:03:25 EST 2021 向后推迟3年
7) 查看帮助
whatis …
….. --help "[]"选择加入的信息 " <> " 必须加入的信息 "... " 可加入任意多个
man
8) 切换用户
su -l 用户名
9) passwd: 修改密码
passwd -S pk :pk PS 2018-02-02 0 99999 7 -1 (Password set,SHA512 crypt.) 查看密码信息
passwd -w 6 pk:Adjusting aging datafor user pk. passwd: Success 警告天数
passwd -n 3 pk:Adjusting aging datafor user pk. passwd: Success 最小修改天数
watch -n 1 passwd -S pk:监控界面命令
10) ls :显示文件
ls -l 长列表显示文件属性 -d 显示目录本身 -a 显示所有文件包括隐藏文件 -R 递归显示 , 通常用于目录 -s 显示文件大小 , 单位字节
cat :查看某个文件内容
gedit:打开或创建一个文档
more:从前向后读取文件内容 无法向前翻
less:查看文件内容 可以使用[pageup][pagedown]向前向后查看文件内容
head[参数]…[文件]… :查看文件开头
head -n 5 [文件] :参看文件前5行
tail [参数]…[文件]… :参看文件结尾
tail –n 3 [文件] :查看文件后3行
11)SHELL 中的历史调用
history 显示历史
上下键 逐条翻找历史
! 数字调用此编号历史
! 字母调用最近以此字母开头的历史
ctrl+r+ 关键字调用最近一条含有此关键字历史
history -c 清空当前 shell 中的历史
12) linux 系统的结构
类似于 windows 中文件夹的东西在linux 中叫目录,linux 是一个倒树型结构,linux 中最大的目录是 "/", 根目录• "/" 目录中的二级目录多为系统在安装过程中建立的。
/bin :存放大多数系统命令
/boot :存放开机所需的文件
/dev :存放设备文件
/etc :存放配置文件
/home : 存放用户账号
/lib : 存放系统程序文件
/mnt :常用挂载点,专门外挂文件系统
/opt :第三方程序安装目录
/proc : 存放记录系统状态的文件
/root : 管理员目录
/sbin : 超级管理员专用目录
/tmp : 临时文件
/usr : 包含一些其他重要内容
/var : 存放系统定义表
13)路径
文件路径
绝对路径
文件在系统的真实位置,文件名称通常以 "/" 开头,/root/Desktop/westos 就表示一个绝对路径,在系统的任何环境下用绝对路径都可以找到指定的文件,只要文件存在
相对路径
相对当前位置的一个文件名称的简写,不是以 "/" 开都的文件名称都表示相对路径,westos 就是相对路径,相对路径只有在相对的位置才能使用,相对名称前面系统会自动添加当前位置。
常用关于路径的命令
pwd 显示当前工作目录
cd .. 切换到当前目录的上一级
- 切换到上次存在目录
~ 切换到当前用户家目录
~user 切换到指定用户家目录 , 一般适用于 root 用户
14)文件操作
普通文件 增touch 删rm –f 改vim,gedit 查 cat,head,tail,less,more
目录 增mkdir(-p) 删rm –fr (增删file or dir) 查 ls
删除所有内容 rm -fr *
file 复制 cpfile... 目录名 移动 mv file... 目录名
dir 复制 cp-r dir... 目录名 移动 mv -r dir... 目录名
mv两个功能移动和重命名
linux day2
1. 用通配符实现文件批处理
[abc] 有a 或者有b或者有c
[!abc] 除了含有a 或者b或者c
[^abc] 除了含有a 或者b或者c
[[:alpha:]] 单个字母
[[:lower:]] 单个小写字母
[[:upper:]] 单个大写字母
[[:alnum:]] 单个字母或数字
[[:punct:]] 单个符号,不包含数字,字母以及空格
[[:digit:]] 数字[[:space:]] 单个空格
* 匹配0-任意字符
? 匹配任意单个字符
~ 匹配当前用户家目录
~ user 匹配到user的家目录
~+ 当前目录
~- 当前目录之前所在的
2. vim 的三种模式
命令模式 插入模式 退出模式
3. 命令模式下配置 vim 的工作方式
:set nu 行号添加
:set nonu 取消行号
:set mouse=a 添加鼠标选择
:set cursorline 行线显示
以上操作只在当前打开的vim中生效,如果设定永久生效编辑文件 /etc/vimrc
4.vim 命令模式下关键字搜索
/ 关键字
n 向下匹配
N 向上匹配
5. vim 命令模式下字符的管理
字符的复制
yl 复制一个字母
y3l 复制 3 个字母
yw 复制一个单词
y3w 复制 3 个单词
yy 复制一行
y3y 复制 3 行
p 复制完成后按“ P”粘贴
字符的剪切
cl 剪切一个字母
c3l 剪切3个字母
cw 剪切一个单词
c3w 剪切3个单词
cc 剪切一行
c3c 剪切 3行
esc ---> p 剪切过后会进入到插入模式,在执行粘贴动作时一定要退出插入模式
6. vim 的可视化模式
在命令模式下按“ctrl+v”进入到可视模式
在可视模式下可以区域选择字符
可视模式下批量添加字符
ctrl+v 选中要加入字符所在列
按“I” 进入插入模式,写入要加入的字符
按 esc
7. 批量修改字符
:%s/ 原有字符 / 替换后字符只替换每一行中出现的第一个原有字符
:%s/ 原有字符 / 替换后字符/g替换所有
8. vim 光标移动
在命令模式下:
数字 移动到指定的行
G 文件最后一行
gg 文件第一行
9. vim 的退出模式
:q 当用 vim 打开文件但没有对字符作任何操作时可直接退出
:q! 当用 vim 打开文件并对字符作操作,放弃所有操作退出
:wq 保存退出
:wq! 强行保存退出,对超级用户及文件所有人生效
10. 标准输入、标准输出与标准错误
运行一个程序时 , 需要从某个位置读取输入信息, 然后cpu处理 , 最后将输出显示到屏幕或文件,进程通过文件描述符的编号通道来获取输入并输出
0 标准输入(stdin) 1 标准输出(stdout) 2 标准错误(stderr)
11. 管理输出
输出重定向会覆盖源文件内容
> 重定向正确输出
2> 重定向错误输出
&> 重定向所有输出
输入重定向 tr'a-z' 'A-Z' < hello.txt :HELLO
12. 管道
符号 : | 表示含义 : 将前一条命令的正确输出作为管道符后面命令的标准输入
Stderr(标准错误)的输出不能通过管道
2>&1 可以把 stderr(标准错误)转换成 stdout(标准输出)
13. tee
复制输出到指定位置
14. 用户存储文件
/etc/passwd 用户信息文件
/etc/group用户组信息文件
/etc/shadow用户认证信息文件
15. useradd
用户新建用户
-u 指定用户的uid
-g 指定用户的gid
-G 指定用户的附加组
-c 指定用户的说明
-d 指定用户的家目录,默认为/home/username
-s 指定用户的shell类型
16. 管理用户组
groupadd 建立用户组 -g 指定组 id
groupmod 修改用户组 -g 修改组 id
groupdel 删除用户组 -r
17. usermod
用于修改用户信息
-l 修改用户名称
-u 修改用户的uid
-g 修改用户的gid
-aG 指定用户的附加组
-c 修改用户的说明
-md 修改用户的家目录 , 默认为/home/username
-s 修改用户的shell类型
18.下放权限
1)root操作的:
vim/etc/sudoers
# Allow user1 to run useradd anywhere
# 用户名 任意主机=(用户身份) 命令(which useradd)
user1 ALL=(root) /usr/sbin/useradd
useradd user1
#echo redhat| passwd --stdin user1
passwd user1
2)user1操作:
sudouseradd computer1
id computer1
练习:
练习1(passwd使用):
1.修改root用户密码为redhat
2. 设置root用户密码的警告期为5天,最短有效期为10天;
3. 删除pk用户的密码;
4. 分别查看root用户和pk用户的密码状态;
练习2(cat, head, tail, gedit的使用):
1. 在桌面上用gedit编辑文件westos, 任意编辑20行内容;
2. 查看westos文件的前3行;
3. 查看westos文件的后10行;
4. vim编辑,在westos文件最后一行添加hello java;
练习3(路径管理):
1. 在当前系统的桌面打开一个shell终端;
2. 打印当前所在工作目录位置;
3. 切换工作目录到当前用户的家目录,并编辑文件westos,文件内容自行发挥;
4. 切换工作目录到student用户的家目录;
6. 切换工作目录到当前用户的上一级目录;
练习4:
1. 在/mnt目录创建文件music1~music10;music{1..10}
2. 在/mnt目录创建目录pic1~pic20;
3. 在root用户的桌面上创建MyPic目录,并将/mnt里面的pic1~pic20复制过去;
3. 在root用户的桌面上创建MyMusic目录,并将/mnt里面的music1~music10移动过去;
4. 删除创建的所有文件和目录;
练习5(通配符使用):
1. 在root用户家目录创建目录bbs, blog;
2. bbs目录中创建10个文件code{1..10}.java;
3. blog目录中创建5个python脚本, linux{a..f}.py;
4. 切换目录到bbs目录中,复制/etc/passwd到当前目录;
5. 复制/etc/group文件到当前目录之前所在的目录;
6. 移动以.py结尾的所有脚本文件到student用户的家目录中;
7. 删除bbs目录中所有以code1开头的java文件;
练习6(重定向):
1. student用户身份执行find /etc/ -name passwd;
2. 将命令的正确输出保存在文件/tmp/findOk文件中;
3. 将命令的错误输出保存在文件/tmp/findErr文件中;
4. 将命令的所有输出放入垃圾箱(/dev/null)中;
5. 追加【年-月-日】到文件/tmp/findOk中;
练习7(用户管理):
1. 新建用户redhat,用户说明为“redhat User”,
2. 并设置redhat密码为redhat,该用户首次登陆需修改密码。
3、给redhat用户授权,可创建用户;
4. redhat用户身份新建用户westos,指定uid=1008,gid=1008,但不能删除westos用户。