一.Linux
1.计算机

Linux只是操作系统的内核名字,没有别的含义。内核非常重要,有了它操作系统才能运行起来,但是他不能构成一个完备的操作系统。与GNU开源软件相结合才组成了操作系统。
2.Linux中一切皆文件。(重要思想)
Linux中文件存储结构为倒树型结构
其中根目录为一级目录
底下是二级目录
如图:

此处我们列举一下root里所含文件及目录:
/bin 二进制可执行文件,系统常规命令(重要)
/boot 启动目录,存放系统自动启动文件,内核,还有初始化程序(重要)
/dev 系统设备管理文件
/etc 大多数系统配置文件,服务存放路径(重要)(若删除很多服务无法支持)
/home 普通用户家目录(重要)与超级用户家目录不同,普通包含在超级里面
/lib 函数库
/lib64 64位函数库
/media 临时挂载点
/mnt 临时挂载点
/opt 第三方软件安装目录
/proc 系统硬件信息和系统进程信息
/root 超级用户家目录,超级用户登陆系统后默认在的地方。超级用户拥有最高权限,可以管理其他的
/run 自动临时的设备挂载点
/sbin 系统管理命令,通常只有root可以执行(重要)
/srv 系统数据目录
/var 系统数据目录
/sys 内核相关数据
/tmp 临时文件产生目录
/usr 用户相关信息数据

二.虚拟机相关知识
1.什么是虚拟机
虚拟机是指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。(简单来说,就是和物理机[真机]一模一样,你可以干任何你想干的事情,玩坏了都不怕,嘿嘿)
2.基本使用手册
先在桌面点击右键打开一个新的terminal,
输入 rht-vmctl start desktop,打开一个虚拟机
输入 rht-vmctl view desktop,查看一个虚拟机
输入 rht-vmctl start server,打开一个虚拟机
输入 rht-vmctl view server,查看一个虚拟机
输入 rht-vmctl poweroff desktop,关闭虚拟机
输入 rht-vmctl reset desktop,重置虚拟机(玩坏了用的)

注意:可能出现的报错形式:
(1)在输入 rht-vmctl start desktop打开一个虚拟机后,再次输入输入 rht-vmctl start desktop,此时出现报错如图:

(2)在未打开虚拟机desktop的时候,输入 rht-vmctl view desktop想要查看一个虚拟机,此时出现报错如图:

其中root(超级用户)登录方式
Not listed? ---- root ---- 超级用户登录密码

三.Linux中基本操作
(1)在linux中如何运行命令
例如:(具体命令的用法意义在后面提,这里我们先看一看它的效果)
ls用来查看目录里面有什么
命令 参数 目标
ls -l test
ls --size test
命令 参数 目标(中间空格隔开)
参数用来限定命令的执行方式

注意:
1.参数用来指定命令的某些功能,可以加也可以不加
2.命令和参数还有目标之间要用空格分开
3.在执行命令时通常遵循这些规则,特殊情况除外
4.命令必须在命令提示符后输入,没有提示符的输入是无效的
(2)命令提示符中字段含义
例如:[kiosk@foundation0 Desktop]$ (切开来一块一块看)br/>1=kiosk,2=@,3=foundation0,4=Desktop,5=$
1:当前用户,运行shell的是谁
2:分割符号
3:主机名短名称(可以输入fundation查询主机名全称)
4:所在当前主机位置
5:身份提示符
$:代表普通用户;#:代表超级用户

四.Linux中的文件和目录(也就是平时所说的文件夹)
1.文件建立
touch filename
2.目录建立(文件夹)
mkdir directory
mkdir -p dir1/dir2/dir3 (-p建立递归目录,当上层目录不存在时自动建立多层)

3.文件删除
rm file 此时删除会有提示,输入y,点回车
rm -f file -f=--force 表示强制删除不提示
4.目录删除
rm -r directory -r表示递归删除,也就是删除目录本身和里面的所有内容
rm -r -f dir 删除目录不提示
rm -fr dir
rm -rf dir
5.编辑文件
(1)gedit
gedit filename
直接输入gedit,但此时terminal不能用,被gedit占用了。用这个的前提是必须要有图形界面,而且gedit如果当你的电脑意外短路将不会保存里面的内容。这一点可是非常致命的啊!!!
(2)vim
vim file ---- 按i进入insert模式 ---- 书写内容 ---- 按esc退出插入模式 ---- :wq保存退出


vim的文件,就算突然退出或者异常,不会删除原来已有的内容。删除.swp文件后,再次打开,vim恢复正常。(目前还没有进行过这样的操作)
6.文件复制
cp 源文件 目的地文件
cp -r 源目录 目的地目录
cp 源文件1 源文件2 目的地文件

7.文件移动
mv 源文件 目的地文件 (相当于给文件重命名)
mv 源目录/源文件 目的地目录

8.文件内容查看
cat filename 查看文件的全部内容

cat -b filename 显示行号

less filename 分页浏览

less filename分页浏览的用法如下:
上/下键 逐行上下移动
/keyword 高亮显示关键字,n向下匹配,N向上匹配
q 退出
head file 查看文件前10行
head -n 5 fie 查看文件前5行

tail file 查看文件后10行
tail -n 5 file 查看文件后5行

tail -f file 监控文件内容变化

9.文件大小统计
wc -l filename 行数
wc -w filename 单词数
wc -c filename 字节数

五.关于路径的命令
1.显示当前路径/工作地址(就是我在哪儿这个问题) pwd
2.文件的寻址
我们将所谓的文件路径(path)分为绝对路径和相对路径。
绝对路径:由根目录(/)开始写起的文件名或目录名称。是文件在系统的真实位置,此路径在寻找时不会考虑现在所在的位置信息。
相对路径:相对于目前路径的文件名写法。(反正开头不是/就是相对路径的写法)
3.切换路径
cd 目录名称 进入到指定目录
cd - 当前目录和当前目录之前所在的目录之间进行切换
cd~ 进入当前用户家目录
cd .. 进入当前目录的上层目录

4.查看
ls
ls -l file 文件属性
ls dir 目录中所包含的内容
ls -d dir 显示目录本身
ls -a dir 显示所有文件(包含隐藏文件)
ls -s dir 查看并且按照大小排序

六.系统中历史的调用
history 查看历史

history -c 清空当前环境中的历史

!数字 调用此行历史
!test 调用以test关键字开头的最近一条历史
Ctrl + r + 关键字 调用历史中最近一条含有此关键字的历史

七.在系统中获得帮助
1.查看命令用途 whatis
2.查看命令用法
命令 --help 查看命令的基本用法,适用于多数命令

显示内容中:
[] 表示选项可以加也可以不加
... 表示选项加入的个数任意
<> 表示选项是必须加入的
Usage 标出命令用法
Options 对参数作用作说明
3.man查看命令或文件的说明手册
Man 命令
Man 5 文件

4.man的用法:同less的用法

八.系统的通用配置符号
星号符 匹配0到任意字符
? 匹配单个字符
[[:alpha:]] 单个字母
[[:lower:]] 单个小写字母
[[:upper:]] 单个大写字母
[[:digit:]] 单个数字
[[:punct:]] 单个符号
[[:alnum:]] 单个字母或数字
[1-9] 1位,是1-9的任意数字
[!3-5]或者[^3-5] 1位,不是3-5的数字
{1..3} 3个,1 2 3
{1,3,5} 3个,1,3,5这三个数*

九.系统中的输入输出管理(重定向)
注意:此节试验在普通用户下操作:通过su - student转成普通用户。
1.理解系统的输入输出
I/O是输入输出的缩写。这个功能可以把命令行的输入重定向为从文件中获取内容,也可以把命令行的输出结果重定向到文件中。如果我们将多个命令行关联起来,将形成非常强大的命令——管道。
2.管理输入输出的符号
输出重定向符号:>

   重定向正确输出

2> 重定向错误输出
&> 重定向所有输出
注意:重定向时,如果指向同一文件内,将会覆盖原文件内容。
find /etc/ -name passwd 此句可以理解为:根据name(名字)去寻找/etc里的passwd的文件。

find /etc/ -name passwd > file 重定向将正确内容输出到file(正确内容为可以查看的)

find /etc/ -name passwd 2> file.err 重定向将错误内容输出到file.err(错误内容为不可以查看的)

find /etc/ -name passwd &> file.all 重定向将所有内容输出到file.all

3.输出追加(与重定向不同,此命令默认追加到原文件的最后)
find /etc/ -name passwd >> file 追加正确内容输出到file

find /etc/ -name passwd 2>> file.err 追加错误内容输出到file.err

find /etc/ -name passwd &>> file.all 追加所有内容输出到file.all

4.管道
(1)管道的作用
“|”管道的作用是把前一条命令的输出变成后一条命令的输入
注意:管道只允许正确输出通过
通过管道的输出将会变成输入
如果需要保存输出内容,那么需要复制一份输出,命令是”tee”
(2)实验过程
find /etc/ -name passwd | wc - l 看到结果为2,因为错误输出不能通过管道

find /etc/ -name passwd 2>&1 | wc - l 看到结果为19,因为错误输出被转换为正确输出
find /etc/ -name passwd 2>&1 | tee file | wc - l 保存一份输出到file

5.输出重定向
cat > file << EOF
hello
World
EOF

十.详细学习vim
1.vim的三种模式
普通模式:浏览文件
插入模式:对文件内容进行编辑
命令模式:临时更改vim的工作方式,对字符进行批量处理,永久更改vim工作方式需要编辑配置文件:/etc/vimrc
2.调整vim的工作方式
set nu 显示行号
set nonu 不显示行号
set mouse=a 鼠标有用
注意:这些设置都是一次性的 再次进入就没了
3.字符搜索
/keyword 关键字高亮
4.字符管理
y
yl 复制一个字母
y3l 复制三个字母
yw 复制一个单词
y3w 复制三个单词
yy 复制一行
y3y 复制三行
d
dl 删除一个字母
d3l 删除三个字母
dw 删除一个单词
d3w 删除三个单词
dd 删除一行
注意:在剪切之后vim会进入插入模式,要粘贴需要按esc退出插入模式然后按p粘贴
p 粘贴
u 撤销
ctrl + r 回复撤销

5.vim可视化模式
v 字符可视化
V 行可视化
ctrl + v 块可视化
其中批量添加字符,应该ctrl + v选中要加入字符所在的列 ---- 按大写I键,进入插入模式 ---- 加入字符 ---- 按esc退出

6.字符的替换
:%s/要替换的字符/替换成的字符/g
:%s/westos/redhat/g 替换所有位置

:1,5s/westos/redhat/g 替换1到5行

7.vim的分屏功能
ctrl + w s 上下分屏

ctrl + w v 左右分屏

ctrl + w c 关闭光标所在屏幕
ctrl + w 上下左右 光标移动到指定屏幕
:sp file2 同时编辑当前文件和file2

8.在命令模式下光标的移动
gg 光标移动到文件的第一行
G 光标移动到文件的最后
:数字 光标移动到指定行
ZZ 保存退出
9.插入模式下光标移动
i 光标所在位置插入
I 光标所在行行首插入
o 光标所在行下一行插入
O 光标所在行上一行插入
a 光标所在字符的下一个字符插入
A 光标所在行的行尾插入
s 光标所在字符删除并插入
S 光标所在行删除并插入
10.vim的退出
:q 退出,在文件内容没有改变时使用
:wq 退出保存
:q! 强制退出不保存,在改变文件后不想保存时使用
:wq! 强制退出保存,在对只读文件编写时使用。注意:所编辑的只读文件必须是当前用户的文件
11.vim监控
watch -n 1 ‘tail -n 3 /etc/passwd /etc/group;ls -l /home/’ 每隔1秒监控一次命令实施情况(类似于电脑后台一直在重复所监控的命令)
注意:watch用于监控的是命令,而tail -f filename监控的是文件。

十一.用户管理
1.用户存在的意义
2.组存在的意义
3.用户的查看
1)查看当前用户 whoami
2)系统中用户的查看
id 查看指定用户id信息
id -u 查看用户的uid
-g 查看用户的gid
-G 查看用户所在的所有组id
-n 显示名字而不是id数字


4.切换用户
su - 用户名称
其中”-”表示用户身份切换时同时切换当前用户环境。
执行高级用户切换低级用户时不需要密码,低级用户切换高级用户需要密码,平级切换也需要密码。
注意:每次su切换到其他用户操作完成之后退出,在切换到另外用户操作
5.用户在系统中的存储方式

/etc/passwd
用户信息文件
用户名称:用户密码:uid:gid:说明文字:家目录:默认shell

/etc/group
用户组信息文件
组名:组密码:组id:组成员

/etc/shadow
认证信息文件

/home/usename
用户家目录
6.用户管理命令
1)用户删除
userdel
userdel westos 删除用户但不删除用户的配置文件
userdel -r westos 删除用户并删除用户的配置文件
2)用户建立
useradd -u 8888 westos 指定用户uid
useradd -g 21 westos 指定用户初始组id,”21”用户组必须是存在的
useradd -G 21 westos 指定用户附加组id,”21”用户组必须是存在的
useradd -c “hello” westos 指定用户的说明
useradd -d /home/lee westos 指定用户的家目录
useradd -s /sbin/nologin westos 指定用户默认shell

3)用户组
groupadd 建立用户组
groupadd -g 8888 建立用户组并指定用户组id
groupdel 删除用户组
4)更改用户信息 usermod
usermod -l 新名称 westos 更改用户的名称
usermod -u 8888 westos 更改用户的uid
usermod -g 21 westos 更改用户的初始组
usermod -G 21 westos 更改用户的附加组
usermod -G “” westos 删除用户所有附加组
usermod -c “haha” westos 更改用户说明文字
usermod -md /home/lee westos 更改用户家目录
usermod -s /sbin/nologin westos 更改用户的shell


usermod -L westos 冻结用户
usermod -U westos 解冻用户
5)用户认证信息
/etc/shadow 记录用户认证信息
此文件一共有9列:
用户名称:用户密码:用户密码最后一次被更改时间:用户密码最短有效期:用户密码最长有效期:密码警告期限:用户非活跃天数:用户到期日:用户自定义列
6)用户密码
passwd westos 更改westos密码

passwd -l westos 对密码加锁

passwd -u westos 对密码解锁

passwd -d westos 清空westos密码

注意:
普通用户改密码时:
1.必须知道当前永久原始密码2.密码不能和账号名称相似3.密码不能是纯数字或字母4.密码不能是有序的字母和数字的组合
2.用户密码最后一次被更改的时间
passwd -e westos 改变用户最后一次更改密码的时间为0,用户在登录时会被强制

3.修改密码
1)用户密码最短有效期
passwd -n 1 westos westos用户在1天之内不能修改密码

2)用户到期日
chage -E 2018-09-23 westos westos用户在2018-09-23到期

十二.文件权限
1.文件权限的查看
ls -l file
ls -ld dir
ll file
ll -d dir

2.文件权限的读取
例如:

  • | rw- | rw- | r-- | 1 | kiosk | kiosk | 0 | Sep 23 14:52 | file
    [1] [2] [3] [4] [5] [6] [7] [8]
    [1]文件类型
  • 空文件,或者文本
    d 目录
    l 软链接
    s socket套接字
    b block块设备
    c字符设备
    [2]权限
    rw- | rw- | r--
    1 2 3
    1.[u]文件所有者对文件能做什么操作
    2.[g]文件所有组能对文件做什么操作
    3.[o]其他人能对文件做什么操作
    [3]
    对文件:文件硬链接个数(文件内容被记录的次数)
    对目录:目录中子目录的个数(不是文件)
    [4]文件所有人
    [5]文件所有组
    [6]对文件:文件大小
    对目录:目录中子文件元数据大小
    [7]文件内容被修改的时间
    [8]文件名称
    3.如何修改文件的所有人和所有组
    chown / chgrp
    chown username file/dir
    chown user.group file/dir
    chown -R user.group dir (同时更改了所有人和所有组)

    chgrp group file/dir
    chgrp -R group dir (只更改了所有组)
    不加R只改变文件夹的所有人或所有组
    加R改变文件夹里所有文件的所有人或所有组(递归)

    4.如何修改文件的权限
    1)对权限的理解
    r对文件:是否可以查看文件中的内容 ----> cat file
    对目录:是否可以查看目录中有什么子文件或子目录 ----> less dir
    w对文件:是否可以改变文件里面记录的字符
    对目录:是否可以对目录中子目录或子文件元数据进行更改
    x对文件:是否可以通过文件名称调用文件内记录的程序
    对目录: 是否可以进入目录
    2)更改方式
    第一种方式:
    chmod <u|g|o><+|-|=><r|w|x> file|dir
    chmod u+x /mnt/file1
    chmod g-r /mnt/fil2
    chmod ug+r /mnt/file3
    chmod u+r,g+x /mnt/file4
    chmod +x /mnt/file5
    chmod o=r-x /mnt/file6
    第二种方式:
    rwx(顺序不能改变)
    分别记为:210
    我们令r=4,w=2,x=1
    可得r-x|r--|--x
    5 4 1
    从而得到:
    7=rwx
    6=rw-
    5=r-x
    4=r--
    3=-wx
    2=-w-
    1=--x
    0=---

十三.其他
1.自动补齐
我们为了避免命令输入错误或者只记得命令的前半部分而遗忘后部分时,可以用tab补齐目录、路径或命令。
但有的时候一次tab并不能补齐,则代表以此关键字开头的内容不唯一。
此时tab两次,列出所有以此关键字开头的内容
2.加入中文输入法
左上角Application ---- System Tools ---- Settings ---- Rejion&language ---- Input source ---- add ----Chinese ---- Intelligent Pinyin
3.截屏方法
左上角点击utility,然后screen shot
或者用命令gnome-screenshot-a截取任意区域

例题
1.新建用户组,shengchan,caiwu,jishu
2.新建用户要求如下:
tom是shengchan组的附加用户
harry是caiwu组的附加用户
leo是jishu组的附加用户
新建admin用户,此用户不属于以上提到的三个部门
3.新建目录要求如下:
/pub目录为公共存储目录,对所有用户可以读、写、执行
/sc目录为生产部存储目录,只能对生产部人员可以写入
/cw目录为财务部存储目录,只能对财务人员可以写入

题1答案

题2答案

题3答案

仍然存在的一些问题:
1.本机再尝试whatis命令时,试图通过该命令得到关于某些命令的用法,然而所得如图。

具体原因目前还不清楚。
2.本机在截图时,总是出现截图失败的提示,具体原因不明。
3.对于已整理的部分,有一些地方不太清楚具体原因以及意义。比如重定向;系统的输入输出管理;EOF的意思;用户和组存在的意义;在实验过程中发现部分文件可以man 5 filename ,但是有一部分不能这样。

本文参考书目为:《Linux命令行大全》 by William E.Shotts,Jr.

转载于:https://blog.51cto.com/13991919/2286646

关于Linux的第一堂课。相关推荐

  1. LINUX第十一堂课笔记

    LINUX第十一堂课笔记

  2. linux运维初级课前实战随机考试题含答案(笔试+上机)

    linux运维初级课前随机考试: 一.笔试部分: 1.开机配置服务自启动的文件路径是? 解答: /etc/rc.local 2.网卡配置文件的路径 解答: /etc/sysconfig/network ...

  3. 视频教程-Kali Linux渗透测试全程课与脚本语言编程系列课程-渗透测试

    Kali Linux渗透测试全程课与脚本语言编程系列课程 本人有多年的服务器高级运维与开发经验,擅长计算机与服务器攻防及网络攻防技术!对网络安全领域有持续的关注和研究! 林晓炜 ¥899.00 立即订 ...

  4. 计算机基础课堂小游戏互动,16个课前热身小游戏:让每一堂课都充满新鲜感

    原标题:16个课前热身小游戏:让每一堂课都充满新鲜感 课堂正式开始之前,设置热身游戏,教学效果会更佳.它可以达到两个目的:一是把学生的注意力吸引到课堂:二是通过游戏自然过渡到课堂内容,增加课堂趣味性和 ...

  5. 一堂难忘的计算机课作文,难忘的一堂课作文7篇

    难忘的一堂课作文7篇 课堂是我们获取知识的重要一个途径,各位,我们看看下面的难忘的一堂课高中作文,欢迎阅读. 难忘的一堂课作文一 "叮铃铃--"上课铃响了,同学们都坐到自己的位置上 ...

  6. 计算机老师开学第一堂课,开学第一堂课作文

    开学第一堂课作文6 星星点点,思绪万千,零罗棋布,梦回起落.蓦然回首,原来遗失的美好,仅在这一堂课. 新的教室,新的桌椅,新的老师,新的同学--一切都是新的.我也告别了陪着我过了六个春秋的母校.老师, ...

  7. 计算机老师开学第一堂课,开学第一堂课作文(精选8篇)

    开学第一堂课作文(精选8篇) 在学习.工作乃至生活中,大家都尝试过写作文吧,作文一定要做到主题集中,围绕同一主题作深入阐述,切忌东拉西扯,主题涣散甚至无主题.你写作文时总是无从下笔?以下是小编整理的开 ...

  8. 计算机老师给新生的第一堂课怎么讲,新老师如何讲好第一堂课?看这篇就够了!...

    原标题:新老师如何讲好第一堂课?看这篇就够了! 距11.3资格证笔试还有68天啦 新学期即将开始啦!在新生入学的同时,各学校也将迎来一批新教师,为校园注入新鲜的血液. 或许,作为一名新教师,也曾无数次 ...

  9. 一节计算机课作文500,难忘的一堂课作文500字5篇

    难忘的一堂课作文500字5篇 上学以来,每一天我们都在上课,学校的课,人生的课,总有那么一些课让我们难忘.下面就是小编整理的难忘的一堂课作文500字,一起来看一下吧. 难忘的一堂课作文500字1 记得 ...

最新文章

  1. 远程桌面不能用不能连接处理办法
  2. 面试总结-腾讯产品群面
  3. 音视频技术开发周刊 | 162
  4. java生成小图片_JAVA生成缩略小图片类
  5. php代码的健壮性,代码健壮性的几点思考 - 逍遥客 - 51Testing软件测试网 51Testing软件测试网-软件测试人的精神家园...
  6. 【阅读笔记】Implementation of tactical maneuvers with maneuver libraries
  7. 通讯录系统图形化界面(C++,Qt5.12)(Visual Studio2019,QtCreator)(初学)
  8. 跟开涛学shiro练习代码
  9. 演员改行做程序员?一男一女,这两个人你绝对想不到
  10. 怎么查找无线的dns服务器,无线找不到服务器dns地址
  11. 服装进销存2022年排行榜,新手小白必看!
  12. 数析三剑客 numpy pandas matplotlib 基础操作
  13. 一个简单的BitTorrent客户端实现(五):tracker manager和tracker实现
  14. 基于Python的头脑王者脚本(纯娱乐)
  15. python怎么画长方形_python怎么画矩形
  16. MySql函数 - FIND_IN_SET函数
  17. pat B1032 挖掘机技术哪家强 (20分)
  18. 神奇的兔子序列(斐波那契数列)
  19. 当前目录./和父目录../辨析
  20. 学嵌入式好还是java好?

热门文章

  1. 嵌入式主板开发设计需要考虑哪些因素?
  2. 登录和第三方授权(Cookie和Authorization)
  3. c++之头文件基本输出,输入,名字空间,引用,内联函数,函数重载,缺省参数
  4. CMS功能(简介和配置)
  5. 蓝牙核心技术概述(一):蓝牙概述-转-
  6. 关于如何在idea中设置文档注释模板
  7. 有道云笔记迁移到为知笔记
  8. 短信验证码实现(京东万象第三方接口)
  9. 为了反击爬虫,前端工程师的脑洞可以有多大?
  10. python运维必备知识