【Week1】Linux常用命令

一、Linux的发行版

1、Linux的发行版
Linux 的发行版说简单点就是将 Linux 内核与应用软件做一个打包。目前市面上较知名的发行版有:Ubuntu、RedHat、CentOS、Debian、Fedora、SuSE、OpenSUSE、Arch Linux、SolusOS 等。本人是使用虚拟机安装的Ubuntu。
在这里插入图片描述

发行版说明特点来源
Ubuntu国内乃至全球热门的Linux发行版。也是各种推荐入门Linux爱好者安装的一个Linux发行版。①安装简单;②图形界面;③对一些专有驱动支持比较好;④社区活跃;⑤版本更新快,基本半年发布一个新版本。Ubuntu Linux是由南非人马克·沙特尔沃思(Mark Shuttleworth)创办的基于Debian Linux的操作系统,于2004年10月公布Ubuntu的第一个版本(Ubuntu4.10 Warty Warthog)。
Debian几大基础发行版之一,Ubuntu就是基于Debian的。①免费;②软件包通常比较稳定;③系统的开发和维护完全是社区驱动的④APT软件包管理⑤图形化安装方式对新手友好。广义的Debian是指一个致力于创建自由操作系统的合作组织及其作品,由于Debian项目众多内核分支中以Linux宏内核为主,而且 Debian开发者 所创建的操作系统中绝大部分基础工具来自于GNU工程 ,因此 “Debian” 常指Debian GNU/Linux。
FedoraFedora 是一个 Linux 发行版,是一款由全球社区爱好者构建的面向日常应用的快速、稳定、强大的操作系统。 它允许任何人自由地使用、修改和重发布。它由一个强大的社群开发,这个社群的成员以自己的不懈努力,提供并维护自由、开放源码的软件和开放的标准。Fedora 项目由 Fedora 基金会管理和控制,得到了Red Hat的支持。①YUM包管理;②新技术吸纳较快;③官网提供多种桌面环境镜像,可以满足不同桌面喜好的用户;④由红帽赞助;⑤基本半年发布一个新版本;⑥图形化安装方式对新手友好。Fedora 由Fedora Project社区开发、红帽公司赞助,目标是创建一套新颖、多功能并且自由和开源的操作系统。Fedora基于Red Hat Linux,在Red Hat Linux终止发行后,红帽公司计划以Fedora来取代Red Hat Linux在个人领域的应用,而另外发行的Red Hat Enterprise Linux(Red Hat企业版Linux,RHEL)则取代Red Hat Linux在商业应用的领域。
openSUSESUSE Linux的open版本,来自德国的发行版。①非常稳定,基于企业级的SUSE Linux;②华丽的KDE桌面;③安装镜像提供多个桌面环境;④包管理倾向于图形化管理(YaST),图形界面用户友好;⑤官网提供常规版本和滚动发行版本。openSUSE项目是由 Novell 发起的开源项目,旨在推进 Linux 的广泛使用,提供了自由简单的方法来获得世界上最好用的 Linux 发行版之一:openSUSE。
Arch LinuxArch Linux是一款基于x86-64架构的Linux发行版。系统主要由自由和开源软件组成,支持社区参与。系统设计以KISS原则(保持简单和愚蠢)为总体指导原则,注重代码正确、优雅和极简主义,期待用户能够愿意去理解系统的操作。Arch Linux系统安装、删除和更新软件的软件包管理器叫做pacman。①轻量级;②pacman软件包管理工具;③灵活;④完备的WIKI,从安装到使用再到故障排除非常详细;⑤WIKI中文化程度很高。加拿大程序员兼吉他手Judd Vinet从2001年早期开始开发Arch Linux,并在2002年3月11日正式发行0.1版。它受到Slackware、BSD、PLD Linux和CRUX的启发。
CentOSRedHat Linux的社区版相当相当的稳定,版本更新紧跟RedHat。非常适合作为服务器操作系统使用。CentOS 是RHEL(Red Hat Enterprise Linux)源代码再编译的产物,而且在RHEL的基础上修正了不少已知的 Bug ,相对于其他 Linux 发行版,其稳定性值得信赖。

2、Linux和Windows的区别
目前国内 Linux 更多的是应用于服务器上,而桌面操作系统更多使用的是 Windows。
在这里插入图片描述

二、Linux常用命令

1、Linux系统目录结构

ls /

在这里插入图片描述

  • /bin: bin 是 Binaries (二进制文件) 的缩写, 这个目录存放着最经常使用的命令。
  • /boot:这里存放的是启动 Linux 时使用的一些核心文件,包括一些连接文件以及镜像文件。
  • /dev :dev 是 Device(设备) 的缩写, 该目录下存放的是 Linux 的外部设备,在 Linux 中访问设备的方式和访问文件的方式是相同的。
  • /etc:etc 是 Etcetera(等等) 的缩写,这个目录用来存放所有的系统管理所需要的配置文件和子目录。
  • /home:用户的主目录,在 Linux 中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。
  • /lib:lib 是 Library(库) 的缩写这个目录里存放着系统最基本的动态连接共享库,其作用类似于 Windows 里的 DLL 文件。几乎所有的应用程序都需要用到这些共享库。
  • /lost+found:这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。
  • /media:linux 系统会自动识别一些设备,例如U盘、光驱等等,当识别后,Linux 会把识别的设备挂载到这个目录下。
  • /mnt:系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在 /mnt/ 上,然后进入该目录就可以查看光驱里的内容了。
  • /opt:opt 是 optional(可选) 的缩写,这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。
  • /proc:proc 是 Processes(进程) 的缩写,/proc 是一种伪文件系统(也即虚拟文件系统),存储的是当前内核运行状态的一系列特殊文件,这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。
    这个目录的内容不在硬盘上而是在内存里,我们也可以直接修改里面的某些文件,比如可以通过下面的命令来屏蔽主机的ping命令,使别人无法ping你的机器:
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
  • /root:该目录为系统管理员,也称作超级权限者的用户主目录。
  • /sbin:s 就是 Super User 的意思,是 Superuser Binaries (超级用户的二进制文件) 的缩写,这里存放的是系统管理员使用的系统管理程序。
  • /srv: 该目录存放一些服务启动之后需要提取的数据。
  • /sys:这是 Linux2.6 内核的一个很大的变化。该目录下安装了 2.6 内核中新出现的一个文件系统 sysfs 。sysfs 文件系统集成了下面3种文件系统的信息:针对进程信息的 proc 文件系统、针对设备的 devfs 文件系统以及针对伪终端的 devpts 文件系统。
  • /tmp:tmp 是 temporary(临时) 的缩写这个目录是用来存放一些临时文件的。
  • /usr: usr 是 unix shared resources(共享资源) 的缩写,这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于 windows 下的 program files 目录。
  • /usr/bin:系统用户使用的应用程序。
  • /usr/sbin:超级用户使用的比较高级的管理程序和系统守护程序。
  • /usr/src:内核源代码默认的放置目录。
  • /var:var 是 variable(变量) 的缩写,这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。
  • /run:是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除。如果你的系统上有 /var/run 目录,应该让它指向 run。

2、Linux远程登录
Linux 系统中是通过 ssh 服务实现的远程登录功能。
使用命令安装ssh:sudo apt-get install openssh-server

ssh my@192.168.43.205

my是服务器用户名,192.168.43.205是服务器ip 回车输入密码即可登录。
3、Linux 用户和用户组管理
(1)用户账号的添加、删除和修改
①添加新的用户
使用useradd命令,其语法如下:useradd 选项 用户名
参数说明:
选项:
-c comment 指定一段注释性描述。
-d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。
-g 用户组 指定用户所属的用户组。
-G 用户组,用户组 指定用户所属的附加组。
-s Shell文件 指定用户的登录Shell。
-u 用户号 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号。
用户名:
指定新账号的登录名。

useradd –d  /home/sam -m sam

此命令创建了一个用户sam,其中-d和-m选项用来为登录名sam产生一个主目录 /home/sam(/home为默认的用户主目录所在的父目录)。
在这里插入图片描述

useradd -s /bin/sh -g group –G adm,root gem

此命令新建了一个用户gem,该用户的登录Shell是 /bin/sh,它属于group用户组,同时又属于adm和root用户组,其中group用户组是其主组。
②删除用户
删除一个已有的用户账号使用userdel命令,其格式如下:userdel 选项 用户名
常用的选项是 -r,它的作用是把用户的主目录一起删除。

userdel -r sam

此命令删除用户sam在系统文件中(主要是/etc/passwd, /etc/shadow, /etc/group等)的记录,同时删除用户的主目录。
③修改用户
修改用户账号就是根据实际情况更改用户的有关属性,如用户号、主目录、用户组、登录Shell等。
修改已有用户的信息使用usermod命令,其格式如下:usermod 选项 用户名
常用的选项包括-c, -d, -m, -g, -G, -s, -u以及-o等,这些选项的意义与useradd命令中的选项一样,可以为用户指定新的资源值。

usermod -s /bin/ksh -d /home/z –g developer sam

此命令将用户sam的登录Shell修改为ksh,主目录改为/home/z,用户组改为developer。
(2)用户口令的管理
用户管理的一项重要内容是用户口令的管理。用户账号刚创建时没有口令,但是被系统锁定,无法使用,必须为其指定口令后才可以使用,即使是指定空口令。
指定和修改用户口令的Shell命令是passwd。超级用户可以为自己和其他用户指定口令,普通用户只能用它修改自己的口令。命令的格式为:passwd 选项 用户名
可使用的选项:
-l 锁定口令,即禁用账号。
-u 口令解锁。
-d 使账号无口令。
-f 强迫用户下次登录时修改口令。
为用户指定空口令时,执行下列形式的命令:passwd -d sam ,此命令将用户 sam 的口令删除,这样用户 sam 下一次登录时,系统就不再允许该用户登录了。passwd 命令还可以用 -l(lock) 选项锁定某一用户,使其不能登录:passwd -l sam
(3)用户组的管理
①添加新的用户组
增加一个新的用户组使用groupadd命令。其格式如下:groupadd 选项 用户组
可以使用的选项有:
-g GID 指定新用户组的组标识号(GID)。
-o 一般与-g选项同时使用,表示新用户组的GID可以与系统已有用户组的GID相同。

groupadd group1

此命令向系统中增加了一个新组group1,新组的组标识号是在当前已有的最大组标识号的基础上加1。
在这里插入图片描述
在这里插入图片描述

groupadd -g 101 group2

此命令向系统中增加了一个新组group2,同时指定新组的组标识号是101。
②删除用户组
删除一个已有的用户组,使用groupdel命令,其格式如下:groupdel 用户组

groupdel group1

此命令从系统中删除组group1。
在这里插入图片描述
在这里插入图片描述

③修改用户组
修改用户组的属性使用groupmod命令。其语法如下:groupmod 选项 用户组
常用的选项有:
-g GID 为用户组指定新的组标识号。
-o 与-g选项同时使用,用户组的新GID可以与系统已有用户组的GID相同。
-n新用户组 将用户组的名字改为新名字

groupmod -g 1004 group1

此命令将组group1的组标识号修改为1004。
在这里插入图片描述在这里插入图片描述

groupmod –g 10000 -n group3 group2

此命令将组group2的标识号改为10000,组名修改为group3。
④用户组切换
如果一个用户同时属于多个用户组,那么用户可以在用户组之间切换,以便具有其他用户组的权限。用户可以在登录后,使用命令newgrp切换到其他用户组,这个命令的参数就是目的用户组。

newgrp root

这条命令将当前用户切换到root用户组,前提条件是root用户组确实是该用户的主组或附加组。
(4)与用户账号有关的系统文件
与用户和用户组相关的信息都存放在一些系统文件中,这些文件包括/etc/passwd, /etc/shadow, /etc/group等。
①/etc/passwd文件
/etc/passwd文件是用户管理工作涉及的最重要的一个文件,/etc/passwd中一行记录对应着一个用户,每行记录又被冒号(:)分隔为7个字段,其格式和具体含义如下:用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录Shell

  sam:x:200:50:Sam san:/home/sam:/bin/sh

“用户名"是代表用户账号的字符串;
“口令”一些系统中,存放着加密后的用户口令字;
“用户标识号”是一个整数,系统内部用它来标识用户;
“组标识号”字段记录的是用户所属的用户组;
“注释性描述”字段记录着用户的一些个人情况;
“主目录”,也就是用户的起始工作目录;
用户登录后,要启动一个进程,负责将用户的操作传给内核,这个进程是用户登录到系统后运行的命令解释器或某个特定的程序,即Shell。
②/etc/shadow文件
/etc/shadow中的记录行与/etc/passwd中的一一对应,它由pwconv命令根据/etc/passwd中的数据自动产生。它的文件格式与/etc/passwd类似,由若干个字段组成,字段之间用”:"隔开。这些字段是:登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志

sam:EkdiSECLWPdSa:9740:0:0::::

"最后一次修改时间"表示的是从某个时刻起,到用户最后一次修改口令时的天数;
"最小时间间隔"指的是两次修改口令之间所需的最小天数;
"最大时间间隔"指的是口令保持有效的最大天数;
"警告时间"字段表示的是从系统开始警告用户到用户密码正式失效之间的天数;
"不活动时间"表示的是用户没有登录活动但账号仍能保持有效的最大天数;
"失效时间"字段给出的是一个绝对的天数,如果使用了这个字段,那么就给出相应账号的生存期。期满后,该账号就不再是一个合法的账号,也就不能再用来登录了。
③/etc/group文件
用户组的所有信息都存放在/etc/group文件中。此文件的格式也类似于/etc/passwd文件,由冒号(:)隔开若干个字段,这些字段有:组名:口令:组标识号:组内用户列表

users::20:root,sam

"组内用户列表"是属于这个组的所有用户的列表,不同用户之间用逗号(,)分隔。这个用户组可能是用户的主组,也可能是附加组。
(5)添加批量用户
①先编辑一个文本用户文件;②以root身份执行命令 /usr/sbin/newusers,从刚创建的用户文件user.txt中导入数据,创建用户;③执行命令/usr/sbin/pwunconv;④编辑每个用户的密码对照文件;⑤以 root 身份执行命令 /usr/sbin/chpasswd;⑥确定密码经编码写入/etc/passwd的密码栏后,执行命令 /usr/sbin/pwconv 将密码编码为 shadow password,并将结果写入 /etc/shadow。
4、Linux 文件与目录管理
(1)绝对路径与相对路径
绝对路径: 路径的写法,由根目录 / 写起,例如: /usr/share/doc 这个目录。
相对路径: 路径的写法,不是由 / 写起,例如由 /usr/share/doc 要到 /usr/share/man 底下时,可以写成: cd . ./man 这就是相对路径的写法。
(2)目录/文件操作常用命令
ls(英文全拼:list files): 列出目录及文件名
cd(英文全拼:change directory):切换目录
pwd(英文全拼:print work directory):显示目前的目录
mkdir(英文全拼:make directory):创建一个新的目录
rmdir(英文全拼:remove directory):删除一个空的目录
cp(英文全拼:copy file): 复制文件或目录
rm(英文全拼:remove): 移除文件或目录
mv(英文全拼:move file): 移动文件与目录,或修改文件与目录的名称
touch :创建新文件
ln :创建文件链接
①ls 列出目录
语法: ls 选项 目录名称
选项与参数:
-a :全部的文件,连同隐藏文件( 开头为 . 的文件) 一起列出来(常用)
-d :仅列出目录本身,而不是列出目录内的文件数据(常用)
-l :长数据串列出,包含文件的属性与权限等等数据;(常用)
在这里插入图片描述
将家目录下的所有文件列出来(含属性与隐藏档)

ls -al ~

在这里插入图片描述
②cd 切换目录
语法: cd [相对路径或绝对路径]
在这里插入图片描述
③pwd 显示目前所在的目录
语法:pwd [-P]
-P :显示出确实的路径,而非使用连结 (link) 路径。
在这里插入图片描述
④mkdir创建新目录
语法:mkdir [-mp] 目录名称
选项与参数:
-m :配置文件的权限
-p :帮助你直接将所需要的目录(包含上一级目录)递归创建起来!
⑤rmdir删除空目录
语法: rmdir [-p] 目录名称
选项与参数:
-p :连同上一级『空的』目录也一起删除
在这里插入图片描述
⑥cp复制文件或目录
语法: cp [-adfilprsu] 源文件/目录 目标文件/目录
选项与参数:
-a:相当于 -pdr 的意思;
-d:若来源档为连结档的属性(link file),则复制连结档属性而非文件本身;
-f:为强制(force)的意思,若目标文件已经存在且无法开启,则移除后再尝试一次;
-i:若目标档(destination)已经存在时,在覆盖时会先询问动作的进行(常用)
-l:进行硬式连结(hard link)的连结档创建,而非复制文件本身;
-p:连同文件的属性一起复制过去,而非使用默认属性(备份常用);
-r:递归持续复制,用於目录的复制行为;(常用)
-s:复制成为符号连结档 (symbolic link),亦即『捷径』文件;
-u:若 destination 比 source 旧才升级 destination !

cp numdex/web2.html numdex/test1

在这里插入图片描述
在这里插入图片描述
⑦rm移除文件或目录
语法: rm [-fir] 文件或目录
选项与参数:
-f :就是 force 的意思,忽略不存在的文件,不会出现警告信息;
-i :互动模式,在删除前会询问使用者是否动作
-r :递归删除
⑧mv移动文件或目录
语法:mv [-fiu] 源文件/目录位置 移动目标目录/文件位置
选项与参数:
-f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖;
-i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!
-u :若目标文件已经存在,且 source 比较新,才会升级 (update)
⑨touch创建新文件
语法:touch 文件名(在当前目录创建文件)

touch ceshi.txt

⑩ln创建文件链接
语法:ln [-s] 被链接文件的路径 目的路径
在目录下建立c文件的硬链接c1、符号链接c2,查看目录的访问权限、链接文件的属性,特别注意其访问权限,链接数等信息。
ln :创建一个硬链接,命令格式—— ln 被链接文件的路径 目的路径
ln -s :创建一个符号链接,命令格式—— ln -s 被链接文件的路径 目的路径
(3)Linux 文件内容查看
Linux系统中使用以下命令来查看文件的内容:
cat 由第一行开始显示文件内容
tac 从最后一行开始显示,可以看出 tac 是 cat 的倒着写!
nl 显示的时候,顺道输出行号!
more 一页一页的显示文件内容
less 与 more 类似,但是比 more 更好的是,他可以往前翻页!
head 只看头几行
tail 只看尾巴几行
①cat由第一行开始显示文件内容
语法:cat [-AbEnTv]
选项与参数:
-A :相当於 -vET 的整合选项,可列出一些特殊字符而不是空白而已;
-b :列出行号,仅针对非空白行做行号显示,空白行不标行号!
-E :将结尾的断行字节 $ 显示出来;
-n :列印出行号,连同空白行也会有行号,与 -b 的选项不同;
-T :将 [tab] 按键以 ^I 显示出来;
-v :列出一些看不出来的特殊字符
在这里插入图片描述
②tac从最后一行开始显示
tac与cat命令刚好相反,文件内容从最后一行开始显示,可以看出 tac 是 cat 的倒着写。
在这里插入图片描述
③nl显示行号
语法:nl [-bnw] 文件
选项与参数:
-b :指定行号指定的方式,主要有两种:
-b a :表示不论是否为空行,也同样列出行号(类似 cat -n);
-b t :如果有空行,空的那一行不要列出行号(默认值);
-n :列出行号表示的方法,主要有三种:
-n ln :行号在荧幕的最左方显示;
-n rn :行号在自己栏位的最右方显示,且不加 0 ;
-n rz :行号在自己栏位的最右方显示,且加 0 ;
-w :行号栏位的占用的位数。
5、Linux 权限管理
在 Linux 中我们通常使用以下两个命令来修改文件或目录的所属用户与权限:
chown (change ownerp) : 修改所属用户与组。
chmod (change mode) : 修改用户的权限。
在 Linux 中我们可以使用 ll 或者 ls –l 命令来显示一个文件的属性以及文件所属的用户和组。
在这里插入图片描述
在 Linux 中第一个字符代表这个文件是目录、文件或链接文件等等。

  • 当为 d 则是目录;
  • 当为 - 则是文件;
  • 若是 l 则表示为链接文档(link file);
  • 若是 b 则表示为装置文件里面的可供储存的接口设备(可随机存取装置);
  • 若是 c 则表示为装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)。

接下来的字符中,以三个为一组,且均为 rwx 的三个参数的组合。其中, r 代表可读(read)、 w 代表可写(write)、 x 代表可执行(execute)。 要注意的是,这三个权限的位置不会改变,如果没有权限,就会出现减号 - 而已。Linux系统按文件所有者、文件所有者同组用户和其他用户来规定了不同的文件访问权限。
①chgrp:更改文件属组(用户组):
语法:chgrp [-R] 属组名 文件名
参数选项
-R:递归更改文件属组,就是在更改某个目录文件的属组时,如果加上-R的参数,那么该目录下的所有文件的属组都会更改。
②chown:更改文件属主,也可以同时更改文件属组:
语法:

chown [–R] 属主名 文件名
chown [-R] 属主名:属组名 文件名

③chmod:更改文件9个属性:
Linux文件属性有两种设置方法,一种是数字,一种是符号。
Linux 文件的基本权限就有九个,分别是 owner/group/others(拥有者/组/其他) 三种身份各有自己的 read(4)/write(2)/execute(1) 权限。
变更权限的指令 chmod 的语法: chmod [-R] xyz 文件或目录
选项与参数:
xyz : 就是刚刚提到的数字类型的权限属性,为 rwx 属性数值的相加。
-R : 进行递归(recursive)的持续变更,亦即连同次目录下的所有文件都会变更

参考资料
【1】 https://www.zhihu.com/question/24261540/answer/80418621
【2】https://www.runoob.com/linux/linux-intro.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值