Linux入门基础

分享一篇不错的Linux入门

1.Linux系统简介:

Linux的含义

严格的来讲,Linux不算是一个操作系统,只是一个Linux系统中的内核,即计算机软件与硬件通讯之间的平台;Linux的全称是 GNU/Linux,这才算是一个真正意义上的Linux系统。GNU是Richard Stallman组织的一个项目,世界各地的程序员可以变形GNU程序,同时遵循GPL协议,允许任何人任意改动。但是,修改后的程序必须遵循GPL协 议。

Linux的特点

Linux之所以流行,是因为它拥有如下几方面的特点:

开放性

开放性是指系统遵循世界标准和规范,特别是遵循开发系统互联(OSI)国际标准。凡是,遵循国际标准开发的硬件和软件,都彼此兼容,可以方便的实现互联。

稳定性

Linux的稳定性是众所周知的,由于他没有太多的UI界面,所以他相对其他操作系统较稳定。

多用户

多用户是指系统资源可以被不同用户各自拥有使用,即每个用户对自己的资源,多任务文件系统,系统设备等。有特定的使用权。而彼此之间却不相互影响。Linux和Unix都具有多用户的特定。

设备独立性

是指操作系统把所有外部设备统一当成文件来看待,只要安装它们的驱动程序,任何用户都可以像使用文件一样,操纵、使用这些设备,而不必知道他们的具 体存在形式。具有设备独立性的操作系统,通过把每一个外围设备看做一个独立的文件来简化增加新设备的工作。当需要向系统添加新设备时,系统管理员就在内核 中增加必要的连接。这种连接(也称做设备驱动程序)保证每次调用设备提供服务时,内核都可以使用相同的方式来处理他们。当新的及更好的外设被开发并交付给 用户,这些设备都连接到内核后,用户就能够不受限制的立即使用它们。设备独立性的关键在于内核的适应能力。其他的操作系统只允许一定数量或者一定种类的外 部设备连接。而设备独立性的系统,能够容纳任意种类及任意数量的设备,因为每一个设备都是通过其与内核的专用连接独立进行访问的。

丰富的网络功能

完善的内置网络是Linux的一大特点。Linux在通信和网络功能方面优越于其他操作系统。其他操作系统不包含如此紧密地和内核结合在一起的连接网络的能力,也没有内置这些联网特性的灵活性。而Linux为用户提供了完善的、强大的网络功能。

可靠的系统安全性

Linux采用了许多安全技术措施,包括对读/写进行权限控制、带保护的子系统、审计跟踪、核心授权等,这为网络多用户环境中的用户提供了安全性。

良好的可移植性

可移植性是指系统从一个平台移植到另一个平台它仍能按其自身的方式运行的能力。Linux是一种可移植的系统,它能够从微型计算机到大型计算机的任 何环境中和任何平台上运行。可移植性为运行Linux的不同计算机平台与其他任何机器进行准确而又有效的通信提供了手段,不需要增加任何特殊的和昂贵的通 信接口。

支持多种文件系统

Linux能够支持多种文件系统。目前支持的文件系统有EXT2、EXT3、ISOFS、MSDOS、UMSDOS、NFS、SYSV、Minix、SMB、UFS、NCP、VFAT、NTFS、AFFS等数十种。Linux最常用的文件系统是EXT4。

掌握Linux下的常规操作

登陆和注销

登陆Linux系统需要用户名和密码,分为超级用户(root)和普通用户,两者之间存在着权限的差异。

虚拟控制台:RHEL在电脑为用户提供了6个可以使用的虚拟控制台(Virtual Console)拟当Unix的”哑终端“。我们可以用CTRL+ALT+F1~F6这6个组合键来访问对应的VC,每个VC对应6个组合键中的一个,在 图形界面时可以用组合键CTRL+ALT+F7回到图形环境。

如果是在控制台中要进行用户的切换使用su命令,超级用户切入到普通用户可以直接切换。

登陆控制台之后我们可以看到一个等待用户输入命令的行提示符号:

[root@server home]#

第一个是指用户为root,server为我们的主机名(输入命令hostname可以查看),第三个为我们当前工作目录

这个格式在当前用户的家目录中的文件下设置,如果是超级用户root,可以查看文件:

[root@foundation0 ~]# vim /root/.tcshrc

命令行提示符的结尾为#说明是超级用户,如果是$说明是普通用户

文件路径(绝对路径和相对路径)

绝对路径:在Linux中,绝对路径是从/(也被称为根目录)开始的,比如/usr、/etc/X11。

相对路径:对应的就不是从/开始描述的,以当前目录.开始进行描述。(.为当前目录,..为当前目录的上一级目录)

文件和目录操作命令

1.ls命令

这个命令就相当于 dos 下的 dir 命令一样 也是 Linux 控制台命令中最为重要几个命令之一,ls 最常用的参数有三个-a、-l 和 –F:

ls -a

Linux 系统上的文件以.开头的文件被系统视为隐藏文件,仅用 ls 命令是看不到他们的。而用ls -a除了显示一般文件名外,连隐藏文件也会显示出来。

ls –l

这个命令可以使用长格式显示文件内容 如果需要察看更详细的文件资料就要用到 ls -l 这个指令。

ls -F

在列出的文件 目录 名称后加一符号 例如可执行文件加 "", 目录则加 "/"。

2.cd命令

cd 这个命令是用来进出目录的,它的使用方法和在 dos 下没什么两样,但和dos不同的是Linux的目录对大小写是敏感的如果大小写拼写有误,你的cd操作是成功不了的。另外,cd 如果直接输入,cd 后面不加任何东西。会回到使用者自己的 Home 目录,假设如果是 root 那就是回到/root。这个功能同 cd ~是一样的。

3. mkdir rmdir命令

mkdir 命令用来建立新的目录

如输入如下命令

mkdir work

将在当前目录下新建一个 work 目录

rmdir 用来删除已建立的目录

如输入如下命令

rmdir work

将删除已存在的空目录 work

如果要删除的目录不为空的话,使用rmdir无法进行删除,使用命令:

[root@foundation0 Desktop]# rm 目录文件 -fr

4. cp命令

cp 这个命令相当于 dos 下面的 copy 命令

具体用法是:

cp –r 源文件(source) 目的文件(target)

参数 r 是指连同源文件中的子目录一同拷贝

在我们的shell设置中,把cp -r的别名设置成了cp,两者功能相同。

5. rm命令

rm 这个命令是用来删除文件的

rm 命令常用的参数有三个-i,-r,-f

比如我现在要删除一个名字为 text 的一个文件

输入如下命令

rm –i test

系统会询问我们是否要删除 test 文件 敲了 y/n 确认是否要删除 test 文件

rm –r 目录名

这个操作可以连同这个目录下面的子目录都删除

功能比上面讲到的 rmdir 更强大 不仅可能删除指定的目录 而且可以删除该目录下所有文件和子目录。

rm –f 文件名

这个操作可以不经确认强制删除文件

需要强调的是,rm 文件 -fr这个命令是十分危险的,当你不清楚它执行后的结果的时候请不要轻易使用,以免造成文件的丢失。

6. mv命令

mv 这个命令的功能是移动目录或文件

引申的功能是给目录或文件重命名

比如:

mv /tmp/xxx.tar /root

该命令将/tmp 目录下的 xxx.tar 文件移动到/root 目录下,需要注意的是mv此时和cp命令有着些许差别,mv会把移动文件的安全上下文属性保留,cp则会使用目标目录的安全上下文。

查看文件的安全上下文:

[root@foundation0 mnt]# ll file -Z

-rw-r--r--. root root unconfined_u:object_r:mnt_t:s0  file

这个是cp后的结果,安全上下文由mnt_t改为public_content_t。

[root@foundation0 mnt]# cp file /var/ftp/pub/file1

[root@foundation0 mnt]# ll /var/ftp/pub/file1 -Z

-rw-r--r--. root root unconfined_u:object_r:public_content_t:s0 /var/ftp/pub/file1

这个是mv后的结果,安全上下文未发生改变:

[root@foundation0 mnt]# mv file /var/ftp/pub/

[root@foundation0 mnt]# ll /var/ftp/pub/file -Z

-rw-r--r--. root root unconfined_u:object_r:mnt_t:s0  /var/ftp/pub/file

安全上下文是Linux系统中另外一种安全机制,与seLinux是息息相关的。相当于给每个文件一个标签,通过安全上下文可以限制文件的功能。

文件重命名:

mv aaa.tar bbb.tar

则是将当前目录下的文件 aaa.tar 更名为 bbb.tar

7. cat命令

cat 这个命令是 Linux 中非常重要的一个命令,它的功能是显示或连结一般的ascii文本文件。它的用法如下:

cat text

该命令显示 text 这个文件的内容

cat file1 file2

该命令依顺序显示 file1,file2 的内容

cat file1 file2>file3

该命令把 file1,file2 的内容结合起来再重定向>到 file3 文件中

8. more命令

more 是显示一般文本文件的指令,如果一个文本文件太长了超过一个屏幕的画面,用cat来看实在是不理想就可以试试 more。

用法如下:

more file1

9. pwd命令

pwd 这个命令的作用是显示用户当前的工作路径,直接输入 pwd 即可。

示例:

[root@foundation0 mnt]# cd /var/ftp/pub/

[root@foundation0 pub]# pwd

/var/ftp/pub

用户及用户组管理命令

1. useradd命令

useradd 命令可以创建一个新的用户帐号,其最基本用法为:

useradd 用户名

如输入以下命令

useradd newuser,系统将创建一个新用户 newuser,该用户的 Home 目录为/home/newuser。

useradd 命令的参数较多,常用的组合为:

useradd 用户名 -g 组名 –G 组名 -d Home目录名 -p 密码

其中:

-g 指定该用户的首要组

-G 指定该用户的次要组

-d 指定该用户的 Home 目录

-p 指定该用户的密码

如输入以下命令:

useradd Oracle –g oinstall –G dba –d /home/oracle –p ora123

系统将创建一个用户oracle,oracle用户的首要组为oinstall,次要组为dba,Home目录为/home/oracle,密码为 ora123。

当要查看系统是否有某个用户的时候,使用命令id:

id 用户名

2.userdel命令

userdel命令用于删除一个已经存在的帐号,其用法为:

userdel 用户名

3.groupadd命令

groupadd 命令可以创建一个新的用户组,其最基本用法为:

groupadd 组名

如输入以下命令:

groupadd newgroup

系统将创建一个新的用户组 newgroup

4.groupdel命令

groupdel 命令用于删除一个已存在的用户组,其用法为:

groupdel 组名

5.passwd命令

出于系统安全考虑 Linux 系统中的每一个用户除了有其用户名外还有其对应的用户口令,用户可以随时用passwd命令改变自己的口令,该命令的一般格式为:

passwd

输入该命令后,按系统提示一次输入密码和密码确认后,即可完成对用户密码的修改      此外,超级用户还可以修改其他用户的密码,命令如下:

passwd 用户名

6.su命令

su 命令这个命令非常重要,它可以让一个普通用户拥有超级用户或其他用户的权限也可以让超级用户以普通用户的身份做一些事情。普通用户使用这个命令时必须有超级用户或其他用户的口令,如果想要离开当前用户的身份可以键入 exit 命令。su 命令的一般形式为:

su - 用户名

7.chmod命令

使用权限 : 所有使用者

使用方式 : chmod [-cfvR] [--help] [--version] mode file...

说明 : Linux/Unix 的档案调用权限分为三级 : 档案拥有者、群组、其他。利用 chmod 可以藉以控制档案如何被他人所调用。

参数 :

mode : 权限设定字串,格式如下 : [ugoa...][[+-=][rwxX]...][,...],其中:

u 表示该档案的拥有者,g 表示与该档案的拥有者属于同一个群体(group)者,o 表示其他以外的人,a 表示这三者皆是。

+ 表示增加权限、- 表示取消权限、= 表示唯一设定权限。

r 表示可读取,w 表示可写入,x 表示可执行,X 表示只有当该档案是个子目录或者该档案已经被设定过为可执行。

-c : 若该档案权限确实已经更改,才显示其更改动作

-f : 若该档案权限无法被更改也不要显示错误讯息

-v : 显示权限变更的详细资料

-R : 对目前目录下的所有档案与子目录进行相同的权限变更(即以递回的方式逐个变更)

--help : 显示辅助说明

--version : 显示版本

范例 :将档案 file1.txt 设为所有人皆可读取 :\

chmod ugo+r file1.txt

将档案 file1.txt 设为所有人皆可读取 :

chmod a+r file1.txt

将档案 file1.txt 与 file2.txt 设为该档案拥有者,与其所属同一个群体者可写入,但其他以外的人则不可写入 :

chmod ug+w,o-w file1.txt file2.txt

将 ex1.py 设定为只有该档案拥有者可以执行 :

chmod u+x ex1.py

将目前目录下的所有档案与子目录皆设为任何人可读取 :

chmod -R a+r

此外chmod也可以用数字来表示权限如 chmod 777 file

语法为:chmod abc file

其中a,b,c各为一个数字,分别表示User、Group、及Other的权限。

r=4,w=2,x=1

若要rwx属性则4+2+1=7;

若要rw-属性则4+2=6;

若要r-x属性则4+1=5。

范例:

chmod a=rwx file和chmod 777 file效果相同。

chmod ug=rwx,o=x file和chmod 771 file 效果相同。

若用chmod 4755 filename可使此程序具有root的权限。

8.chown命令

chown 用于更改某个文件或目录的属主和属组,这个命令也很常用,例如root用户把自己的一个文件拷贝给用户 Oracle 为了让用户 oracle 能够存取这个文件,root用户应该把这个文件的属主设为 oracle 否则用户oracle无法存取这个文件。

chown 的基本用法为:

chown [用户:组] 文件

举例:

chown oracle:dba text

该命令将 text 文件的属主和属组分别改为 oracle 和 dba。

磁盘及文件系统管理命令:

1.df命令

作用:df命令用来检查文件系统的磁盘空间占用情况,使用权限是所有用户。

格式 df [options]

主要参数

-s:对每个Names参数只给出占用的数据块总数。

-a:递归地显示指定目录中各文件及子目录中各文件占用的数据块数。若既不指定-s,也不指定-a,则

只显示Names中的每一个目录及其中的各子目录所占的磁盘块数。

-k:以1024字节为单位列出磁盘空间使用情况。

-x:跳过在不同文件系统上的目录不予统计。

-l:计算所有的文件大小,对硬链接文件则计算多次。

-i:显示inode信息而非块使用量。

-h:以容易理解的格式印出文件系统大小,例如136KB、2 4MB、21GB。

-P:使用POSIX输出格式。

-T:显示文件系统类型。

说明

df命令被广泛地用来生成文件系统的使用统计数据,它能显示系统中所有的文件系统的信息,包括总容量、可用的空闲空间、目前的安装点等。

超级权限用户使用df命令时会发现这样的情况:某个分区的容量超过了100%。这是因为Linux系统为超级用户保留了10%的空间,由其单独支 配。也就是说,对于超级用户而言,他所见到的硬盘容量将是110%。这样的安排对于系统管理而言是有好处的,当硬盘被使用的容量接近100%时系统管理员 还可以正常工作。

使用示例:

[root@foundation0 yum.repos.d]# df -h

Filesystem      Size  Used Avail Use% Mounted on

/dev/sda1      462G  50G  413G  11% /

devtmpfs        1.8G    0  1.8G  0% /dev

tmpfs          1.8G  12K  1.8G  1% /dev/shm

tmpfs          1.8G  17M  1.8G  1% /run

tmpfs          1.8G    0  1.8G  0% /sys/fs/cgroup

/dev/loop0      3.5G  3.5G    0 100% /content/rhel7.0/x86_64/dvd

2. mount 和 umount

mount 命令有很多参数,其中大多数都不会在日常工作中用到,mount 命令最常见的用法如下所示:

mount [选项] 设备 目录

其中最常用的选项是 -a,把/etc/fstab 文件中列出的文件系统都挂装上

挂装软驱和光驱的命令比较简单,直接输入以下命令即可:

mount /mnt/cdrom

mount /mnt/floppy

umount 命令用于卸载一个文件系统,命令的格式如下:

umount [ -f ] directory

其中directory 是准备卸载的目录名

umount 命令有一个不足之处 如果文件系统正在使用中 也就是说有人在那个分区上打开了文件 就无法把这个文件系统卸载下来 这时可以使用和- f参数强制执行卸载操作 当然这种操作可能会造成用户数据的丢失。如:

umount -f /mnt/cdrom

该命令将强制卸载挂装在/mnt/cdrom 目录下的文件系统

所以我们给出的建议是,最好先退出所要卸载的目录,然后再执行卸载命令。

4.Linux的目录结构

关于Linux的目录结构,我这里找到一篇博客解释的非常详细,对于目录及其各个文件的功能都有着非常详细的解释,大家可以学习并进行理解:

链接地址:http://yangrong.blog.51cto.com/6945369/1288072

5.Linux下的网络配置:

关于Linux的网络配置,RedHat6和redhat7有着细微的差别:

网卡的名称发生了改变,在redhat6中,我们着重关注的文件是ifcfg-eth0和ifcfg-br0(与虚拟机进行桥接的文件),而在 redhat7中,ifcfg-eth0变成了ifcfg-enp3s0f0的形式,也就是说eth0网卡失效了。但是这几个文件的目录并没有发生改变:

网络配置文件目录:/etc/sysconfig/network-scripts/

如果我们不进行桥接的情况下,在ifcfg-eth0和ifcfg-enp3s0f0中需要写入以下参数:

DEVICE      设备名称                                  与ifcfg-后的名字要相同,否则系统无法识别;

ONBOOT      YES|NO                                在重新启动网络时是否开启该网卡

BOOTPROTO    dhcp | (static | none)

dhcp表示我们主机的IPADDR,GATEWAY,DNS都是自动获取的,这个设置要想成功的话,当前的环境中必须要有dhcp服务器开启,否则会获取失败,如果设置为static或者none,则需要手动设置IPADDR,GATEWA Y和DNS1的值。

GATEWAY      环境的网关IP

IPADDR      与网关在同一网段的IP

DNS1        域名解析服务器IP

NETMASK      子网掩码(可以与IPADDR进行与运算确定该IP网段)

6.制作yum源(本地、远程)及yum命令的基本操作

关于yum源很多同学并不了解它的机理,yum是一个软件包管理器,一般我在安装完一个虚拟机的时候第一时间就是设置它的yum仓库,因为只有这样我们才可以轻松的安装redhat官方提供给我们的各种工具包。所以熟悉和懂得yum仓库的配置是非常重要的。

为什么是YUM?

基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。

是的,它帮助我们把各种RPM包的依赖性解决好了,只需要执行yum命令安装就可以了,所以很实用。

制作远程yum源

这个就相当于是别人把yum源做好之后,把地址共享出来,我们设定好远程yum源后,每次在安装某个软件的时候,其实是在本地查询软件的包依赖关系,按照依赖关系在远程的ftp服务器下载指定的包,完成安装后删除(系统默认,可保存包)所下载的包。

此时你只需要设置一个配置文件即可,该文件的目录为:

/etc/yum.repos.d/

在这个目录下的文件都是以repo为后缀结尾的,例如:yum.repo

编辑yum.repo文件,下面是我给出的一个示例:

[source]

name=localserver

#baseurl=ftp://192.168.3.252/pub/rhel7.0

baseurl=file:///content/rhel7.0/x86_64/dvd

gpgcheck=0

我们做下解释,第一行为一个源的名称(可以自定义),name是对这个源的描述(可以自定义),baseurl是yum源的指定目录。如果是远程的yum源使用ftp://,如果是本地的yum源使用file://然后加上yum源的绝对路径

gpgcheck决定是否要对所下载的包进行校验,0为否,1为是。

这个是repo文件里主要的参数,还有其他的参数,以后有需求了再进行应用:

cachedir:  yum缓存的目录,yum在此路径下存储下载的rpm包和数据库,一般是/var/cache/yum。

debuglevel:除错级别,0──10,默认是2

logfile:  yum的日志文件,默认是/var/log/yum.log。

pkgpolicy: 包的策略。一共有两个选项,newest和last,这个作用是如果你设置了多个repository,而同一软件在不同的repository中同时存 在,yum应该安装哪一个,如果是newest,则yum会安装最新的那个版本。如果是last,则yum会将服务器id以字母表排序,并选择最后的那个 服务器上的软件安装。一般都是选newest。

distroverpkg:指定一个软件包,yum会根据这个包判断你的发行版本,默认是redhat-release,也可以是安装的任何针对自己发行版的rpm包。

exactarch:有两个选项1和0,代表是否只升级和你安装软件包cpu体系一致的包,如果设为1,则如你安装了一个i386的rpm,则yum不会用i686的包来升级。

retries:  网络连接发��错误后的重试次数,如果设为0,则会无限重试。

tolerent:  也有1和0两个选项,表示yum是否容忍命令行发生与软件包有关的错误,比如你要安装1,2,3三个包,而其中3此前已经安装了,如果你设为1则yum不会出现错误信息,默认是0。

exclude:  排除某些软件在升级名单之外,可以用通配符,列表中各个项目要用空格隔开,这个对于安装了诸如美化包,中文补丁的朋友特别有用。

gpgcheck: 有1和0两个选择,分别代表是否是否进行gpg校验,如果没有这一项,默认好像也是检查的。

plugins:  是否启用所有的插件(plug-in),默认为0,代表不启用。由于RHEL为YUM提供了一个名为rhn-plugin的插件,以便读取RHN提供的 YUM下载源,因此你必须保持这个参数为1,才能顺利使用RHN的YUM下载源来安装、升级你的RHEL。

metadata_expire: 定义YUM缓存中数据的过期时间,单位为秒。

proxy:    指定读取下载源时使用的代理服务器的路径(URL)。

制作本地yum源:

制作本地yum源分为两个步骤:

(1)首先,我们要把iso镜像文件挂在到指定的目录中,写入/etc/fstab文件;

写入的内容与下面内容类似:

/content/rhel7.0/x86_64/isos/rhel-server-7.0-x86_64-dvd.iso  /content/rhel7.0/x86_64/dvd  iso9660  loop,ro  0 0

每次修改完/etc/fstab中需要执行命令mount -a;

(2)然后在/etc/yum.repos.d/yum.repo文件中写入baseurl参数中。

每次修改完repo文件,请执行yum clean all命令进行刷新。

关于yum的基本操作有以下几个命令:

查看所有安装包的列表    yum list

查看命令是何种包支持的  yum whatprovides 命令

安装包                  yum install 包

删除安装过的包          yum remove 包

再次安装包              yum reinstall 包

组安装                  yum groupinstall 包

组删除                  yum groupremove 包

(二)Linux系统知识:

1.RedHat7的图形界面和6有着比较大的区别,它将之前的几个目录集和到了Applications里边,大家可以尝试着里边的应用,图形界面我们不做过多的解释。

图形界面和字符界面的切换:

图形---->字符:

[root@foundation0 yum.repos.d]# init 3

字符---->图形:

[root@foundation0 yum.repos.d]# init 5

如果我们想要修改系统的开机默认界面,redhat6和7的方法有区别:

redhat6修改开机启动界面:

编辑/etc/inittab文件,在最末尾设置开机级别,0-6七个级别。

redhat7修改开机启动界面:

查看/etc/inittab文件如下所示:

# multi-user.target: analogous to runlevel 3

# graphical.target: analogous to runlevel 5

#

# To set a default target, run:

#

# ln -sf /lib/systemd/system/.target /etc/systemd/system/default.target

可以看到图形界面和字符界面对应的参数分别为:

graphical.target(5)和multi-user.tartget(3)

开机默认为图形界面:

ln -sf /lib/systemd/system/graphical.target /etc/systemd/system/default.target

开机默认为字符界面:

ln -sf /lib/systemd/system/multi-user.target /etc/systemd/system/default.target

2.使用nautilus以图形方式管理文件

打开文件管理器:

[root@foundation0 Desktop]# nautilus

进入管理器后要想看到隐藏文件(以.开头的文件):

ctrl+h

想要访问远程ftp文件目录:

单击“Connect to Server”,输入ftp://XXX.XXX.XXX.XXX即可访问远程ftp(前提是对方开发了ftp服务)

管理和访问文件我们建议尽量的使用命令行进行处理。

3.熟悉redhat的文档阅读(redhat官方网站下载或者在本地owncloud处下载redhat7文档并阅读)

4.配置本机系统时钟

时钟的设置是非常有必要的,对于监控和系统报警的软件,准确的时钟是至关重要的,当时钟不准确时我们需要进行及时的调整,有命令和图形的两种方法:

(1)使用命名ntpdate直接修改:

ntpdate XXX.XXX.XXX.XXX(开放ntpd服务的主机)

完成后使用命令date可以进行确认

(2)使用system-config-date打开图形界面进行同步设置。

5.shell的简介和使用

Shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令并把它送入内核去执行。

实际上Shell是一个命令解释器,它解释由用户输入的命令并且把它们送到内核。不仅如此,Shell有自己的编程语言用于对命令的编辑,它允许用 户编写由shell命令组成的程序。Shell编程语言具有普通编程语言的很多特点,比如它也有循环结构和分支控制结构等,用这种编程语言编写的 Shell程序与其他应用程序具有同样的效果。

Linux提供了像MicrosoftWindows那样的可视的命令输入界面--X Window的图形用户界面(GUI)。它提供了很多桌面环境系统,其操作就像Windows一样,有窗口、图标和菜单,所有的管理都是通过鼠标控制。GNOME。

每个Linux系统的用户可以拥有他自己的用户界面或Shell,用以满足他们自己专门的Shell需要。

同Linux本身一样,Shell也有多种不同的版本。主要有下列版本的Shell:

Bourne Shell:是贝尔实验室开发的。

BASH        :是GNU的Bourne Again Shell,是GNU操作系统上默认的shell。

Korn Shell  :是对Bourne SHell的发展,在大部分内容上与Bourne Shell兼容。

C Shell    :是SUN公司Shell的BSD版本。

Z Shell    :The last shell you’ll ever need! Z是最后一个字母,也就是终极Shell。它集成了bash、ksh的重要特性,同时又增加了自己独有的特性。

shell的使用之前我们已经介绍了部分命令,然而对于shell的学习不仅限于此。在以后的Linux学习中我们还要接触脚本的编程,让系统的管理变得自动化。但是前面的命令操作是基石,希望大家能够熟练掌握。

6.管理物理存储

主要掌握的命令fdisk,并且在分区结束后要使用命令partprobe刷新分区表.

查看设备:

[root@foundation0 Desktop]# cat /proc/partitions

关于磁盘分区的详细介绍可以查看博客:

http://blog.chinaunix.net/uid-29622064-id-4221446.html

7.使用LVM灵活存储(LVM的创建、使用、扩展、销毁)

这个内容是我们重点进行讲解的,而且大家都要做总结进行整理。

请注意xfs和ext4文件系统在扩展的时候使用的命令有所差异:

xfs使用的命令是:

[root@foundation0 Desktop]# xfs_growfs 设备名(lv)

ext4使用的命令是:

[root@foundation0 Desktop]# resize2fs 设备名(lv)

也可以参看 Linux文件系统ext3与ext4主要区别手记  http://www.linuxidc.com/Linux/2012-03/56865.htm

8.使用man手册获取帮助

对命令的操作不熟悉时,或者在C语言编程对函数的参数有不了解的地方。则需要使用man命令进行查找,它有很多个查找类型:

1  Executable programs or shell commands

2  System calls (functions provided by the kernel)

3  Library calls (functions within program libraries)

4  Special files (usually found in /dev)

5  File formats and conventions eg /etc/passwd

6  Games

7  Miscellaneous (including macro packages and conventions), e.g. man(7), groff(7)

8  System administration commands (usually only for root)

9  Kernel routines [Non standard]

小提示:在man中如果搜索某个关键字,使用“/查找关键字”快速的进行定位。并且可以按“n”进行下一个的匹配

9.查看管理系统进程

熟练掌握以下命令:

ps aux

top

kill

我们可以通过上述的命令关闭某些进程;找到系统所占用资源最大的进程;找到指定的进程。

10.建立网络链接

之前我们已经熟悉了网络配置文件里的部分参数意义,这个阶段的内容就是要能够准确的配置,让主机能够连接外网,可以通过ping命令进行检验,一旦能够发送接受数据包说明二者之间可以通信。

并且我们要熟悉网络故障排错的一般流程(这个是要作为作业总结的^_^)

11.系统服务的管理(关键字:systemctl)

对于系统服务的管理,RedHat7和6有着不小的区别:

在redhat6中我们在/etc/init.d/目录下进行服务的开关,例如:

/etc/init.d/network restart

而在redhat7中,我们使用systemctl命令进行开关服务:

systemctl start network

主要需要掌握以下几个命令:

systemctl start      服务名称

systemctl stop      服务名称

systemctl status    服务名称

systemctl restart    服务名称

12.文件权限

ls -l可以列出文件的权限,但是这只是一部分。我们要学习如何修改文件权限,如何修改文件的安全上下文,以及setacl和getacl的使用。

13.使用ssh远程管理系统(关键字:公私钥、ssh-keygen)

ssh可以远程访问系统,使用所访问系统的用户名和密码。

ssh-keygen可以生成认证文件,通过非对称加密,把公钥拷贝给对应的远程主机,可以实现无密码认证的远程访问。

14.apache、vsftpd和vnc服务器的配置

了解apache、vsftpd和vnc服务端的安装包有那些;

安装上述的服务,并且能够简单的修改配置文件;

开启服务。

15.管理物理存储(关键字:tune2fs、swap交换分区)

通过磁盘分区生成swap分区,并对磁盘分区进行添加和删除

16.seLinux和iptables基本设置

seLinux是安全上下文,上面的内容已经做了简单的介绍。

SELinux(Security-Enhanced Linux) 是美国国家安全局(NSA)对于强制访问控制的实现,是 Linux历史上最杰出的新安全子系统。NSA是在Linux社区的帮助下开发了一种访问控制体系,在这种访问控制体系的限制下,进程只能访问那些在他的 任务中所需要文件。SELinux 默认安装在 Fedora 和 Red Hat Enterprise Linux 上,也可以作为其他发行版上容易安装的包得到。

我们要知道seLinux的配置文件在:

/etc/sysconfig/seLinux中,它有三种模式:

#    enforcing - SELinux security policy is enforced.              强制打开模式

#    permissive - SELinux prints warnings instead of enforcing.    打开并警告模式

#    disabled - No SELinux policy is loaded.                      关闭模式

在命令行下可以进行状态的切换(前提是seLinux是打开状态):

setenforce (0 | 1)  0为permissive,1为enforcing

getenforce            可以得到seLinux的状态

对于iptables我们暂时只需要学会如何去打开和关闭iptables,关于iptables的添加策略有兴趣的同学可以在网上搜索资料自行学习。

17.软链接和硬链接(ln命令)

软连接和硬连接可以查看博客:

http://blog.chinaunix.net/uid-29622064-id-4220416.html

18.归档和压缩(关键字:tar命令)

这个就是我们windows当中的压缩和解压缩,要求我们要熟悉tar命令。

关于tar命令的解释,网上有很多博客介绍到了:

http://blog.csdn.net/ericbaner/article/details/3966741

关于解压缩除了tar之外,我们有时还需要解压zip和rar压缩包:

1)对于.zip

  Linux下提供了zip和unzip程序,zip是压缩程序,unzip是解压程序。它们的参数选项很多,

这里只做简单介绍,依旧举例说明一下其用法:

  # zip all.zip .jpg

  这条命令是将所有.jpg的文件压缩成一个zip包

# unzip all.zip

  这条命令是将all.zip中的所有文件解压出来

  2)对于.rar

  要在Linux下处理.rar文件,需要安装RAR for Linux,可以从网上下载,但要记住,RAR for Linux不是免费的;然后安装:

 # tar -xzpvf rarLinux-3.2.0.tar.gz

  # cd rar

  # make

  这样就安装好了,安装后就有了rar和unrar这两个程序,rar是压缩程序,unrar是解压程序。

它们的参数选项很多,这里只做简单介绍,依旧举例说明一下其用法:

  # rar a all .jpg

  这条命令是将所有.jpg的文件压缩成一个rar包,名为all.rar,该程序会将.rar

扩展名将自动附加到包名后。

  # unrar e all.rar

  这条命令是将all.rar中的所有文件解压出来

 

转载于:https://www.cnblogs.com/1026164853qqcom/p/5856488.html

你可能感兴趣的:(Linux入门基础)