事情要从我看到我们学校和CSDN联合办培训班的通知开始说起,我头脑一热大腿一拍就交了申请,到现在我也想不通,我一个非计算机专业的纯纯小白,是怎么和一众大佬们坐在同一个教室的。
在开营仪式以前,我甚至都不知道Linux是什么。这个培训班和学校的课堂有很多不同,老师并不是按照常规方式来授课,而是采用布置任务-自学-考核答疑这种流程。这意味着,我需要从无到有地迅速完善自己的知识,达到老师的要求(淘汰制度真的太恐怖了QAQ)。以下是我的第一周学习总结~
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发行版本。
通配符是一种特殊语句,主要有星号(*)和问号(?),用来模糊搜索文件。
当查找文件夹时,可以使用它来代替一个或多个真正字符;当不知道真正字符或者懒得输入完整名字时,常常使用通配符代替一个或多个真正的字符。
最常用的是*、?、[]和 ‘。下面举几个简单的例子:
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