前言
事情要从我看到我们学校和CSDN联合办培训班的通知开始说起,我头脑一热大腿一拍就交了申请,到现在我也想不通,我一个非计算机专业的纯纯小白,是怎么和一众大佬们坐在同一个教室的。
在开营仪式以前,我甚至都不知道Linux是什么。这个培训班和学校的课堂有很多不同,老师并不是按照常规方式来授课,而是采用布置任务-自学-考核答疑这种流程。这意味着,我需要从无到有地迅速完善自己的知识,达到老师的要求(淘汰制度真的太恐怖了QAQ)。以下是我的第一周学习总结~
Linux发行版本与特点
李纳斯·托瓦兹开发的Linux只是一个内核
内核即为一个操作系统的核心
各大公司与组织将Linux内核与各种软件和文档包装起来,并提供系统安装界面和系统配置、设定与管理工具,构成了发行版本。
Linux比较常见的发行版本有:
Red Hat linux(红帽公司)
创建于1993年,最资深的Linux厂商
国内使用人群最多,资料丰富。
产品主要包括
• RHEL(收费) 适合用于服务器
• CentOS(免费)
• Fedora Core(免费)(稳定性很差,适用于桌面应用)
Redhat系列的包管理方式采用的是基于RPM包的YUM包管理方式,包分发方式是编译好的二进制文件。
Debian系列 (Debian和Ubuntu)
Debian是迄今为止最遵循GNU规范 的Linux系统
最早由Ian Murdock于1993年创建,分为三个版本分支(branch): stable, testing 和 unstable
unstable
为最新的测试版本,其中包括最新的软件包,但是也有相对较多的bug,适合桌面用户。
testing
都经 过unstable中的测试,相对较为稳定,也支持了不少新技术(比如SMP等)。
stable
一般只用于服务器,上面的软件包大部分都比较过时,但是 稳定和安全性都非常的高。
Ubuntu
是基于Debian的unstable版本加强而来,拥有Debian所有的优点,以及自己所加强的优点的近乎完美的 Linux桌面系统。
根据选择的桌面系统不同,有三个版本可供选择,基于Gnome的Ubuntu,基于KDE的Kubuntu以及基于XfcXubuntu。
特点是界面非常友好,容易上手,对硬件的支持非常全面,是最适合做桌面系统的Linux发行版本。
SuSE linux
以Slackware Linux为基础,可以非常方便的实现与Windows的交互,硬件检测非常优秀,拥有界面友好的安装过程、图形管理工具,对于终端用户和管理员来说使用非常方便。
surface安装Ubuntu16.04
我的电脑是surface book 2,因为舍不得Windows所以最终选择了win+Ubuntu双系统的模式。安装过程有些许坎坷,最终耗时两个晚上顺利完成,现已平稳运行一周。
主要参考教程:
教程1:在u盘里安装ubuntu系统(surface系列)
教程2: 手把手教你安装win10+Ubuntu16.04的双系统(全网最详细)
主要步骤:
- 制作U盘启动盘
- BIOS设置
- 磁盘分区设置
- 安装Ubuntu
步骤1,2参考教程1
步骤3,4参考教程2
**
Linux基本命令的学习及使用
**
通配符
通配符是一种特殊语句,主要有星号(*)和问号(?),用来模糊搜索文件。
当查找文件夹时,可以使用它来代替一个或多个真正字符;当不知道真正字符或者懒得输入完整名字时,常常使用通配符代替一个或多个真正的字符。
最常用的是*、?、[]和 ‘。下面举几个简单的例子:
1,ls test* <== *表示后面不论接几个字符都接受(没有字符也接受)
2,ls test? <== ?表示后面当且仅当接一个字符时才接受
3,ls test??? <== ???表示一定要接三个字符
4,cp test[1~5] /tmp <== test1, test2, test3, test4, test5若存在,则复制到/tmp目录下
5,cd /lib/modules/’ uname -r’/kernel/drivers <== 被 ’ ’ 括起来的命令先执行
最常用的基本命令*
文件与目录管理
处理目录的常用命令
接下来我们就来看几个常见的处理目录的命令吧:
• ls(英文全拼:list files): 列出目录及文件名
• cd(英文全拼:change directory):切换目录
• pwd(英文全拼:print work directory):显示目前的目录
• mkdir(英文全拼:make directory):创建一个新的目录
• rmdir(英文全拼:remove directory):删除一个空的目录
• cp(英文全拼:copy file): 复制文件或目录
• rm(英文全拼:remove): 移除文件或目录
• mv(英文全拼:move file): 移动文件与目录,或修改文件与目录的名称
你可以使用 man [命令] 来查看各个命令的使用文档,如 :man cp。
处理文件的常用命令
• touch :创建文件
• rm :删除文件或目录
cp (复制文件或目录)
cp 即拷贝文件和目录。
语法:
[root@www ~]# cp [-adfilprsu] 来源档(source) 目标档(destination)
[root@www ~]# cp [options] source1 source2 source3 … directory
选项与参数:
• -a:相当於 -pdr 的意思,至於 pdr 请参考下列说明;(常用)
• -d:若来源档为连结档的属性(link file),则复制连结档属性而非文件本身;
• -f:为强制(force)的意思,若目标文件已经存在且无法开启,则移除后再尝试一次;
• -i:若目标档(destination)已经存在时,在覆盖时会先询问动作的进行(常用)
• -l:进行硬式连结(hard link)的连结档创建,而非复制文件本身;
• -p:连同文件的属性一起复制过去,而非使用默认属性(备份常用);
• -r:递归持续复制,用於目录的复制行为;(常用)
• -s:复制成为符号连结档 (symbolic link),亦即『捷径』文件;
• -u:若 destination 比 source 旧才升级 destination !
用 root 身份,将 root 目录下的 .bashrc 复制到 /tmp 下,并命名为 bashrc
[root@www ~]# cp ~/.bashrc /tmp/bashrc
[root@www ~]# cp -i ~/.bashrc /tmp/bashrc
cp: overwrite `/tmp/bashrc’? n <==n不覆盖,y为覆盖
路径
• 绝对路径:
路径的写法,由根目录 / 写起,例如: /usr/share/doc 这个目录。
• 相对路径:
路径的写法,不是由 / 写起,例如由 /usr/share/doc 要到 /usr/share/man 底下时,可以写成: cd …/man 这就是相对路径的写法
用户的管理
Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。
用户的账号一方面可以帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问;另一方面也可以帮助用户组织文件,并为用户提供安全性保护。
每个用户账号都拥有一个唯一的用户名和各自的口令。
用户在登录时键入正确的用户名和口令后,就能够进入系统和自己的主目录。
两种用户
1、超级用户root:
用户名不可修改
提示符#
只有1个
目录为/root
2、普通用户
可以有多个
提示符$
目录为 /home/用户名
添加新的用户账号
添加用户:sudo useradd 选项 用户名
选项
• -c comment 指定一段注释性描述。
• -d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。
• -g 用户组 指定用户所属的用户组。
• -G 用户组,用户组 指定用户所属的附加组。
• -s Shell文件 指定用户的登录Shell。
-u 用户号 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号。
切换用户
切换用户:su 用户名
• 从普通用户切换到root用户,还可以使用命令:sudo su
• 在终端输入exit或logout或使用快捷方式ctrl+d,可以
退回到原来用户,其实ctrl+d也是执行的exit命令
• 在切换用户时,如果想在切换用户之后使用新用户的工作环境,可以在su和username之间加-,例如:【su - root】
创建密码:sudo passwd 用户名
修改密码:sudo passwd 用户名
管理员权限获取
1.使用su命令切换到root用户
由于root用户一开始是没有密码的,因此首先输入:sudo passwd root,对root用户密码进行初始化,有可能会要求输入当前使用用户的密码,一定会要求输入root用户密码和密码的二次输入。最后通过su username进行用户之间的切换。
2.使用sudo命令使用户具有管理员权限
(1)在执行命令前加上sudo让用户获得管理员权限,首先需要在root用户下,具有管理员权限对/etc/sudoers文件进行修改。我们需要先利用su命令切换到root用户下,输入visudo -f /etc/sudoers命令进行编辑。
(2)进入文件之后,找到root ALL=(ALL) ALL这条语句所在的地方,将root替换成你想要具有管理员权限的用户名(比如:guowei),在这行语句下面输入guowei ALL=(ALL) ALL,然后进行保存。
(3)在给普通用户管理员权限之后,以后为了修改文件就可以直接在命令前加上sudo即可。
用户组的管理
1、增加一个新的用户组使用groupadd命令。其格式如下:
groupadd 选项 用户组
可以使用的选项有:
• -g GID 指定新用户组的组标识号(GID)。
• -o 一般与-g选项同时使用,表示新用户组的GID可以与系统已有用户组的GID相同。
实例1:
groupadd group1
此命令向系统中增加了一个新组group1,新组的组标识号是在当前已有的最大组标识号的基础上加1。
实例2:
groupadd -g 101 group2
此命令向系统中增加了一个新组group2,同时指定新组的组标识号是101。
2、如果要删除一个已有的用户组,使用groupdel命令,其格式如下:
groupdel 用户组
例如:
groupdel group1
此命令从系统中删除组group1。
3、修改用户组的属性使用groupmod命令。其语法如下:
groupmod 选项 用户组
常用的选项有:
• -g GID 为用户组指定新的组标识号。
• -o 与-g选项同时使用,用户组的新GID可以与系统已有用户组的GID相同。
• -n新用户组 将用户组的名字改为新名字
实例1:
groupmod -g 102 group2
此命令将组group2的组标识号修改为102。
实例2:
groupmod –g 10000 -n group3 group2
此命令将组group2的标识号改为10000,组名修改为group3。
4、如果一个用户同时属于多个用户组,那么用户可以在用户组之间切换,以便具有其他用户组的权限。
用户可以在登录后,使用命令newgrp切换到其他用户组,这个命令的参数就是目的用户组。例如:
newgrp root
改变目录及文件权限
Ubuntu下修改目录权限命令法1:
chmod 600 name (只有所有者有读和写的权限)
Chmod 644 name (所有者有读和写的权限,组用户只有读的权限)
chmod 700 name (只有所有者有读和写以及执行的权限)
chmod 666 name (每个人都有读和写的权限)
chmod 777 name (每个人都有读和写以及执行的权限)
其中 name 指文件名,也可以是目录名。
0 [000]无任何权限
4 [100]只读权限
6 [110]读、写权限
7[111] 读、写、执行权限
Ubuntu下修改目录权限命令法2:
u 表示文件拥有者,g 表示组用户,o 表示其它用户,a 表示所有用户
sudo chmod [操作对象+权限增减+操作权限] ×××
sudo chmod u+w ××× #添加文件拥有者的“可写”权限
sudo chmod u-w ××× #删除文件拥有者的“可写”权限
sudo chmod g+r ××× #添加用户组的“可读”权限
sudo chmod o-r ××× #删除其它用户的“可写”权限
sudo chmod +x ××× #添加所有用户的“可执行”权限
总结
通过一周的自学与小组讨论学习,我基本了解了Ubuntu的运行方式与使用方式,学会使用简单的命令,也正在尝试着从图形化操作模式转换到命令操作模式。这很新奇,也很有趣,燃起了我继续学习程序语言的兴趣,希望我在接下来的学习过程中学到更多。