【Linux_Fedora_系统管理系列】_1_用户登录和系统初始配置

时间:2022-11-26 15:18:26

  发现一个问题,在FC14 的Firefox浏览器中,编辑和排版好的博文,在windows下用chrome或者猎豹浏览器打开后,排版就变得阅读

不是很容易里,而且经常不经意的断行。不知道园子的管理人员时候注意到了这个问题。

  Linux系统的登录和windows登录存在很大的区别,Linux的登录过程是完全可配置的,而windows系统的可配置性相对来说就弱一些,

虽然可以通过启动脚本和msconfig命令修改一些启动属性,但还是不能随用户完全定制启动过程。

【1】登录用户

  Linux是一个多用户的用户系统,在同一时刻可以登录多个不同的用户。在登录到系统后可以通过命令查看当前的登录用户名。

[volcanol@volcanol ~]$ whoami
volcanol

如上所示,利用whoami命令查看当前的登录用户为:volcanol。

此时如果以root用户登录,那么可以看到以下的输出信息:

[root@volcanol ~]# whoami
root

您还可以利用who命令查看所有的登录情况:

[volcanol@volcanol ~]$ who
volcanol tty1 -- : (:)
volcanol pts/ -- : (:0.0)

如上所示,表示用户volcanol登录里两个终端,tty1 和pts/0 ;  tty1 表示字符界面第一个终端,pts/0 这表示第一个GUI界面。

  如果您是超级用户,即root用户,那么您还可以通过w 命令查看系统上登录的所有用户,w命令默认显示的信息比who命令详细:

[root@volcanol ~]# w
:: up :, users, load average: 1.20, 1.10, 1.09
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
volcanol tty1 : : :10m : .09s pam: gdm-passwo
volcanol pts/ :0.0 : .00s .22s .13s gnome-terminal

我们还可以通过who命令查看系统开机的时间,就是系统引导的时间,(在winodowsx下也可以通过命令查看系统引导时间,

具体我忘记是什么了)。

[root@volcanol ~]# who -a
系统引导 -- :
运行级别 -- :
登录 tty3 -- : id=
登录 tty2 -- : id=
登录 tty5 -- : id=
登录 tty4 -- : id=
登录 tty6 -- : id=
volcanol - tty1 -- : 旧的 (:)
volcanol + pts/ -- : . (:0.0)

这里可以看到,系统引导时间为:-- :

系统运行级别为:运行级别 -- :

  注:w为sbin命令,who为bin命令。

【2】用户当前目录

  在用户登录系统成功后,每个用户均会获取当前工作路径,这个目录就是用户的home目录。

root用户的home目录为: /root

普通用户的home目录为: /home/login_user_name ; login_user_name 为当前登录用户的用户名

在系统增加一个新用户后,均会在/home目录下建立一个与用户名同名的目录,这个目录就是用户登录后默认工作路径。

[root@volcanol home]# ls -al
总用量
drwxr-xr-x. root root 6月 : .
dr-xr-xr-x. root root 6月 : ..
drwx------. volcanol volcanol 6月 : volcanol

如上所示,因为当前系统仅有一个root用户和一个volcanol的用户,因此/home目录下仅有一个volcanol 的目录,下面我们新增加一个用户

看看这个目录的变化:

[root@volcanol home]# useradd test
[root@volcanol home]# ls -al
总用量
drwxr-xr-x. root root 6月 : .
dr-xr-xr-x. root root 6月 : ..
drwx------. test test 6月 : test
drwx------. volcanol volcanol 6月 : volcanol

如上所示,我们利用useradd命令增加用户test后,系统就在/home目录下为test建立里一个用户的家目录。用户登录后默认的工作路径就是这个

目录的绝对路径。

[root@volcanol ~]# passwd test
更改用户 test 的密码 。
新的 密码:
无效的密码: 它基于字典单词
重新输入新的 密码:
passwd: 所有的身份验证令牌已经成功更新。

默认增加用户后,需要为用户设置用户密码,用passwd命令实现。

【3】运行级别

  在Linux下,系统启动后有一个运行级别的概念,不同的运行级别可以登录到不同的环境,同时在启动的过程中运行不同的启动脚本。

可以通过下面的命令查看系统的运行级别:

[volcanol@volcanol ~]$ runlevel
N

  如上所示,表示我登录的系统运行级别为5,就是图形模式。

用户登录时默认的运行级别通过配置文件配置, 配置文件为:/etc/inittab

[root@volcanol ~]# cat /etc/inittab
# inittab is only used by upstart for the default runlevel.
#
# ADDING OTHER CONFIGURATION HERE WILL HAVE NO EFFECT ON YOUR SYSTEM.
#
# System initialization is started by /etc/init/rcS.conf
#
# Individual runlevels are started by /etc/init/rc.conf
#
# Ctrl-Alt-Delete is handled by /etc/init/control-alt-delete.conf
#
# Terminal gettys are handled by /etc/init/tty.conf and /etc/init/serial.conf,
# with configuration in /etc/sysconfig/init.
#
# For information on how to write upstart event handlers, or how
# upstart works, see init(), init(), and initctl().
#
# Default runlevel. The runlevels used are:
# - halt (Do NOT set initdefault to this)
# - Single user mode
# - Multiuser, without NFS (The same as , if you do not have networking)
# - Full multiuser mode
# - unused
# - X11
# - reboot (Do NOT set initdefault to this)
#
id::initdefault:

这个配置文件,在不同版本的Fedora 版本的系统下有些不一样,这里我的文件内容就和上面的一样。起作用的是最后一句:

id::initdefault:

表示登录用户默认的运行级别为5; 在这个文件同时写出了一个共有7个运行级别:

# Default runlevel. The runlevels used are:
# - halt (Do NOT set initdefault to this)
# - Single user mode
# - Multiuser, without NFS (The same as , if you do not have networking)
# - Full multiuser mode
# - unused
# - X11
# - reboot (Do NOT set initdefault to this)

0: halt级别,就是表示计算机挂起

1:单用户模式,这个模式通常用于系统维护,或者当系统出现故障后用于系统恢复。

2:多用户模式,和运行级别3一样,但是不支持网络功能

3:多用模式

4:没有使用,

5:图形解码模式,就是通常说的X11模式

6:重启动

我们可以通过init命令,加上运行级别切换到不同的模式。

init    #重启计算机

【4】退出当前用户登录

在Linux系统中,有时我们需要退出当前用户的登录,这可以通过两个命令来实现:exit和logout

[root@volcanol ~]# exit
logout
[volcanol@volcanol ~]$

如上所示,我们利用exit命令,注销了用户root的登录。

[root@volcanol ~]# logout
[volcanol@volcanol ~]$

如上所示,我们利用logout命令,注销了用户root的登录;可以发现exit和logout退出时的提示信息不一样。

【5】用登录脚本和退出脚本

每个用户在登录系统的时候,都会执行用户的登录脚本,这些登录脚本用来配置用户环境。用户的登录脚本保存在用户的home目录。

[volcanol@volcanol ~]$ ls -al
总用量
drwx------. volcanol volcanol 6月 : .
drwxr-xr-x. root root 6月 : ..
drwx------. volcanol volcanol 6月 : .adobe
-rw-------. volcanol volcanol 6月 : .bash_history
-rw-r--r--. volcanol volcanol 6月 .bash_logout
-rw-r--r--. volcanol volcanol 6月 .bash_profile
-rw-r--r--. volcanol volcanol 6月 .bashrc

如上图所示: 在volcanol用的home目录,有两个登录脚本:.bash_profile 和.bashrc  这两个脚本文件均为隐藏文件。下面我们

来看看这两个文件的内容。

[volcanol@volcanol ~]$ cat -n .bash_profile
# .bash_profile # Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi # User specific environment and startup programs PATH=$PATH:$HOME/bin export PATH

这个登录脚本的主要作用是用来配置用户的环境变量PATH的,不同版本的FC 这个文件的内容可能不一样;同时这个

脚本还检查存在.bashrc这个脚本文件否,如果存在则执行.bashrc脚本。

[volcanol@volcanol ~]$ cat -n .bashrc
# .bashrc # Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi # User specific aliases and functions

可以发现这个版本的.bashrc文件什么也不做。

下面我们来看看注销或者说退出脚本:.bash_logout

[volcanol@volcanol ~]$ cat -n .bash_logout
# ~/.bash_logout

同样发现,这个版本的退出脚本什么也不做。如果您需要在退出的时候执行一些任务,可以修改这个脚本。

[root@volcanol ~]# cat .bash_profile
# .bash_profile # Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi # User specific environment and startup programs PATH=$PATH:$HOME/bin export PATH
[root@volcanol ~]# cat -n .bashrc
# .bashrc # User specific aliases and functions alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i' # Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
[root@volcanol ~]# cat -n .bash_logout
# ~/.bash_logout

上面两个是FC 14的root用户的登录和退出脚本

【6】根目录

如果您安装系统的时候,仅有一个根分区的话,那么您的根目录下面的内容大体会和一样:

[root@volcanol ~]# ls -al /
总用量
dr-xr-xr-x. root root 6月 : .
dr-xr-xr-x. root root 6月 : ..
-rw-r--r--. root root 6月 : .autofsck
dr-xr-xr-x. root root 6月 : bin
dr-xr-xr-x. root root 6月 : boot
drwxr-xr-x. root root 10月 cgroup
drwx------. root root 6月 : .dbus
drwxr-xr-x. root root 6月 : dev
drwxr-xr-x. root root 6月 : etc
drwxr-xr-x. root root 6月 : home
dr-xr-xr-x. root root 6月 : lib
drwx------. root root 6月 : lost+found
drwxr-xr-x. root root 6月 : media
drwxr-xr-x. root root 4月 mnt
-rw-r--r--. root root 6月 : null
drwxr-xr-x. root root 4月 opt
dr-xr-xr-x. root root 6月 : proc
dr-xr-x---. root root 6月 : root
dr-xr-xr-x. root root 6月 : sbin
drwxr-xr-x. root root 6月 : selinux
drwxr-xr-x. root root 4月 srv
drwxr-xr-x. root root 6月 : sys
drwxrwxrwt. root root 6月 : tmp
drwxr-xr-x. root root 6月 : usr
drwxr-xr-x. root root 6月 : var

如果仅有一个根分区,那么你西系统中所有的文件都将会保存在这个分区(注意swap分区),我们说说这个目录下

各个目录的主要作用:

/bin/ :存放的是一些二进制的文件和程序,是普通的用户程序,普通用户都可以执行

/boot/: 系统启动相关的文件,都保存在这个目录

/sbin/: 存放的是超级用户才可以执行命令和程序

/dev: 存放的是设备文件

/etc/ : 这个目录存放的是系统的配置文件,大部分配置文件都存放在这个目录

/home/: 存放普通用户的home目录的目录

/initrd/ :存放临时文件的目录

/tmp: 存放用户临时文件的目录,这个目录所有的用户都具有可读写的权利

/lib: 存放系统动态链接库的目录

/lost_found : 系统在引导时产生的磁盘碎片文件就存放在这个目录

/mnt/ : 一般用于用户外部设备挂载时对应的目录,

/media: 这个目录是用来挂载用户移动存储设备的目录,

/proc: 这个是内存的镜像目录,普通用户不能访问

/usr: 存放用户程序等文件的目录,这个目录通常最大

/var: 存放一些会变化的文件,例如邮件、日记/日志文件等

【7】系统分区管理和查看

通过df命令可以查看系统磁盘的分区情况

[root@volcanol ~]# df
文件系统 1K-块 已用 可用 已用% 挂载点
/dev/sda10 % /
tmpfs % /dev/shm
/dev/sda8 % /media/2C706CFF706CD0DE
/dev/sda9 % /media/544CC8004CC7DB3E
/dev/sda5 % /media/42E06210E0620A8D
/dev/sda7 % /media/9AA61644A61620F5
/dev/sda6 % /media/0068994F68994476

可以看到这个命令,可以查看系统目前已经挂载的分区,我们可以用-h命令是输出信息更加容易看:

文件系统          容量  已用  可用 已用%% 挂载点
/dev/sda10 .9G .9G .5G % /
tmpfs 970M 6.4M 963M % /dev/shm
/dev/sda8 49G 16G 33G % /media/2C706CFF706CD0DE
/dev/sda9 49G 36G 13G % /media/544CC8004CC7DB3E
/dev/sda5 30G .6G 25G % /media/42E06210E0620A8D
/dev/sda7 59G 24G 35G % /media/9AA61644A61620F5
/dev/sda6 59G 43G 16G % /media/0068994F68994476

【8】统计目录(或文件)所占磁盘空间的大小

通过du命令查看目录活文件的空间使用情况 ,不带参数默认显示当前路径下所有文件的大小。

[root@volcanol ~]# du -h /root
.0K /root/.mplayer
.0K /root/.gconfd
.0K /root/.gconf
152K /root

【9】磁盘管理工具

通过fdisk工具可以用来管理磁盘分区

[root@volcanol ~]# fdisk -l

Disk /dev/sda: 320.1 GB,  bytes
heads, sectors/track, cylinders, total sectors
Units = sectors of * = bytes
Sector size (logical/physical): bytes / bytes
I/O size (minimum/optimal): bytes / bytes
Disk identifier: 0xd0ec1d5f Device Boot Start End Blocks Id System
/dev/sda1 * + HPFS/NTFS
/dev/sda2 f W95 Ext'd (LBA)
/dev/sda5 HPFS/NTFS
/dev/sda6 HPFS/NTFS
/dev/sda7 HPFS/NTFS
/dev/sda8 + HPFS/NTFS
/dev/sda9 + HPFS/NTFS
/dev/sda10 Linux

这个命令执行需要root权限,如下以普通用户不能执行这个命令。

[volcanol@volcanol ~]$ fdisk -l

由于这个命令执行有一定的风险,建议一般情况下不要使用。如果操作失误将造成数据丢失的情况。

【10】 网络环境配置

可以通过很多的命令来配置网络环境。

1、测试网络连接情况:

ping命令

[root@volcanol ~]# ping www.cnblogs.com
PING www.cnblogs.com (42.121.252.58) () bytes of data.
bytes from 42.121.252.58: icmp_req= ttl= time=25.2 ms
bytes from 42.121.252.58: icmp_req= ttl= time=25.1 ms
bytes from 42.121.252.58: icmp_req= ttl= time=24.9 ms
^C
--- www.cnblogs.com ping statistics ---
packets transmitted, received, % packet loss, time 2002ms
rtt min/avg/max/mdev = 24.974/25.130/25.272/0.177 ms

如上所示,我测试一下与园子的链接情况,可以发现链接情况良好,丢包律为0%,传递里3个数据包,接收里3个应答数据包,

并且相应时间都很快,均小于26ms。

[root@volcanol ~]# ping www.baidu.com
PING www.a.shifen.com (61.135.169.105) () bytes of data.
bytes from 61.135.169.105: icmp_req= ttl= time=29.8 ms
bytes from 61.135.169.105: icmp_req= ttl= time=31.1 ms
bytes from 61.135.169.105: icmp_req= ttl= time=31.4 ms
bytes from 61.135.169.105: icmp_req= ttl= time=37.2 ms
^X^C
--- www.a.shifen.com ping statistics ---
packets transmitted, received, % packet loss, time 3003ms
rtt min/avg/max/mdev = 29.893/32.430/37.299/2.868 ms

可以发现,在我这登录cnblogs比百度相应速度还快。

2、查看DNS域名服务器

系统可用的DNS域名服务器,可以通过查看文件: /etc/resolv.conf 文件来查看

[root@volcanol ~]# cat -n /etc/resolv.conf
# Generated by NetworkManager
nameserver 202.102.152.3
nameserver 202.102.154.3

这里我们可以看到,我的机器上默认的域名服务器有两个:202.102.152.3 和       202.102.152.3

这个文件还可以指定其他属性:

nameserver   #定义DNS服务器的IP地址
domain #定义本地域名
search #定义域名的搜索列表
sortlist #对返回的域名进行排序

3、查看本地网络物理连接

通过ifconfig命令查看

[root@volcanol ~]# ifconfig
eth0 Link encap:Ethernet HWaddr :EB::D1:B1:9B
UP BROADCAST MULTICAST MTU: Metric:
RX packets: errors: dropped: overruns: frame:
TX packets: errors: dropped: overruns: carrier:
collisions: txqueuelen:
RX bytes: (0.0 b) TX bytes: (0.0 b)
Interrupt: Base address:0x6000 lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::/ Scope:Host
UP LOOPBACK RUNNING MTU: Metric:
RX packets: errors: dropped: overruns: frame:
TX packets: errors: dropped: overruns: carrier:
collisions: txqueuelen:
RX bytes: (3.3 KiB) TX bytes: (3.3 KiB) wlan0 Link encap:Ethernet HWaddr :9F:FA:FB::
inet addr:192.168.1.100 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::8a9f:faff:fefb:/ Scope:Link
UP BROADCAST RUNNING MULTICAST MTU: Metric:
RX packets: errors: dropped: overruns: frame:
TX packets: errors: dropped: overruns: carrier:
collisions: txqueuelen:
RX bytes: (9.2 MiB) TX bytes: (3.1 MiB)

可以看到我的计算机上有两个物理网络设备,一个虚拟的网络设备,lo 网络设备用于回环测试,在windows下同样存在这个设备,下面我们

来看看我的无线网卡wlan0 设备的信息:

 Link encap:Ethernet  HWaddr :9F:FA:FB::   #MAC 地址
          inet addr:192.168.1.100 Bcast:192.168.1.255 Mask:255.255.255.0   #IP、广播地址、子网掩码
          inet6 addr: fe80::8a9f:faff:fefb:/ Scope:Link     #IPV6、IPV6 MAC
          UP BROADCAST RUNNING MULTICAST MTU: Metric:
RX packets: errors: dropped: overruns: frame:
          TX packets: errors: dropped: overruns: carrier:
collisions: txqueuelen:
RX bytes: (9.2 MiB) TX bytes: (3.1 MiB)

我们可以通过ifconfig命令来配置网络设备,配置IP、子网掩码如下所示:

[root@volcanol ~]# ifconfig wlan0 192.168.1.101 netmask 255.255.255.0 ^C

4、增加默认网关

通过route命令查看网关设备:

[root@volcanol ~]# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.1.0 * 255.255.255.0 U wlan0
default 192.168.1.1 0.0.0.0 UG wlan0

  linux下通过默认route命令增加默认网关,通过下面的命令增加默认网关:

[root@volcanol ~]# route add gw IP 

上面的IP就是您要增加的网关设备的IP地址。

通过增加default选项,设置默认网关。

[root@volcanol ~]# route add default  gw IP 

通常如果您开启里DHCP服务,而向您提供网络服务的设备支持DHCP协议,这些IP 、DNS、默认网关和子网掩码都不需要手动配置

通过系统自动获取就行。

这里需要说明一点的是:ifconfig和route命令配置的信息,仅在当前登录有效,重启计算机后这些信息都会丢失,如果您需要永久的

使用这些配置信息,就需要修改配置文件或者使用下面的命令。

5、setup命令

setup是一个文本模式的图形配置命令,通过这个命令可以方便的配置网络环境,因为截图不能上传,就不演示了。

如果您使用的是Linux的早期版本,或者EL版本应该还可以使用一组redhat-config 命令,这组命令目前默认在FC 中不再提供。

还有以前在FC 早期版本中使用netconfig和neat命令, 都可以配置网络;目前在FC 中这两个命令默认是不安装的。

6、修改配置文件来配置网络环境

linux下网络配置文件存放在 /etc/sysconfig/network-scripts/ 目录下:

[root@volcanol network-scripts]# ls
ifcfg-eth0 ifdown-ipv6 ifup ifup-ipx ifup-sit
ifcfg-lo ifdown-isdn ifup-aliases ifup-isdn ifup-tunnel
ifdown ifdown-post ifup-bnep ifup-plip ifup-wireless
ifdown-bnep ifdown-ppp ifup-eth ifup-plusb init.ipv6-global
ifdown-eth ifdown-routes ifup-ippp ifup-post net.hotplug
ifdown-ippp ifdown-sit ifup-ipsec ifup-ppp network-functions
ifdown-ipsec ifdown-tunnel ifup-ipv6 ifup-routes network-functions-ipv6

我们可以看到有两个文件: ifcfg-eth0 和 ifcfg-lo ,这两个文件分别对应有线以太网卡和回环设备配置。

[root@volcanol network-scripts]# cat -n ifcfg-eth0
DEVICE="eth0"
HWADDR="60:EB:69:D1:B1:9B"
NM_CONTROLLED="yes"
ONBOOT="no"
[root@volcanol network-scripts]# cat -n ifcfg-lo
DEVICE=lo
IPADDR=127.0.0.1
NETMASK=255.0.0.0
NETWORK=127.0.0.0
# If you're having problems with gated making 127.0.0.0/8 a martian,
# you can change this to something else (255.255.255.255, for example)
BROADCAST=127.255.255.255
ONBOOT=yes
NAME=loopback

奇怪的是在这目录中并没有无线网卡的配置文件,而且我找了很久都没哟找到。

【11】语言环境配置

语言环境主要用来配置时间、货币、支持的字符集等信息。

在linux中通过locale命令查看当前的,语言环境配置信息。

[root@volcanol default]# locale
LANG=zh_CN.UTF-
LC_CTYPE="zh_CN.UTF-8"
LC_NUMERIC="zh_CN.UTF-8"
LC_TIME="zh_CN.UTF-8"
LC_COLLATE="zh_CN.UTF-8"
LC_MONETARY="zh_CN.UTF-8"
LC_MESSAGES="zh_CN.UTF-8"
LC_PAPER="zh_CN.UTF-8"
LC_NAME="zh_CN.UTF-8"
LC_ADDRESS="zh_CN.UTF-8"
LC_TELEPHONE="zh_CN.UTF-8"
LC_MEASUREMENT="zh_CN.UTF-8"
LC_IDENTIFICATION="zh_CN.UTF-8"
LC_ALL=

这里主要需要配置的是:LANG= zh_CN.UTF-8

这里我们可以看到我的系统配置的语言环境为: zh表示中文字符环境,区域为*,而支持的字符集为UTF-8.

通过locale -a 可以查看系统支持的语言环境,下面是我的机器目前支持的中文部分,可以支持很多编码规则。

yi_US.utf8
yo_NG
yo_NG.utf8
zh_CN
zh_CN.gb18030
zh_CN.gb2312
zh_CN.gbk
zh_CN.utf8
zh_HK
zh_HK.big5hkscs
zh_HK.utf8
zh_SG
zh_SG.gb2312
zh_SG.gbk
zh_SG.utf8
zh_TW
zh_TW.big5
zh_TW.euctw
zh_TW.utf8
zu_ZA
zu_ZA.iso88591
zu_ZA.utf8
[root@volcanol default]#

通过设置 LANG变量可以暂时切换用户语言环境,从而影响一些命令的执行过程和输出信息:

[root@volcanol default]# LANG=en_us.UTF-^C
[root@volcanol default]# date     //中文、中国时间
2013年 06月 24日 星期一 :: UTC
[root@volcanol default]# LANG=en_us.UTF-
[root@volcanol default]# date  //英语、美国时间输出
Mon Jun :: UTC
[root@volcanol default]# LANG=zh_CN.UTF-
[root@volcanol default]# date
2013年 06月 24日 星期一 :: UTC

这样仅在当前用户登录具有效果,如果要永远的修改文件,那么修改配置文件,语言环境的配置文件为: /etc/sysconfig/i18n

[root@volcanol default]# cat -n  /etc/sysconfig/i18n
LANG="zh_CN.UTF-8"

如果修改这个文件,那么修改后语言文件就编程用户新配置的语言环境。