版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、在Linux里设置环境变量的方法(export PATH)一般来说,配置交叉编译工具链的时候需要指定编译工具的路径,此时就需要设置环境变量。例如我的mips-linux-gcc编译器在“/opt/au1200_rm/build_tools/bin”目录下,build_tools就是我的编译工具,则有如下三种方法来设置环境变量:1、直接用export命令:#export PATH=$PATH:/opt/au1200_rm/build_tools/bin查看是否已经设好,可用命令export查看:rootlocalhost bin# exportdeclare -x BASH_ENV=/root/
2、.bashrcdeclare -x G_BROKEN_FILENAMES=1declare -x HISTSIZE=1000declare -x HOME=/rootdeclare -x HOSTNAME=localhost.localdomaindeclare -x INPUTRC=/etc/inputrcdeclare -x LANG=zh_CN.GB18030declare -x LANGUAGE=zh_CN.GB18030:zh_CN.GB2312:zh_CNdeclare -x LESSOPEN=|/usr/bin/lesspipe.sh %sdeclare -x LOGNAME=r
3、ootdeclare -x LS_COLORS=no=00:fi=00:di=01;34:ln=01;36:pi=40;33:so=01;35:bd=40;33;01:cd=40;33;01:or=01;05;37;41:mi=01;05;37;41:ex=01;32:*.cmd=01;32:*.exe=01;32:*.com=01;32:*.btm=01;32:*.bat=01;32:*.sh=01;32:*.csh=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.zip=01;31:*.z=01;31:
4、*.Z=01;31:*.gz=01;31:*.bz2=01;31:*.bz=01;31:*.tz=01;31:*.rpm=01;31:*.cpio=01;31:*.jpg=01;35:*.gif=01;35:*.bmp=01;35:*.xbm=01;35:*.xpm=01;35:*.png=01;35:*.tif=01;35:declare -x MAIL=/var/spool/mail/rootdeclare -x OLDPWD=/opt/au1200_rm/build_toolsdeclare -x PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bi
5、n:/usr/sbin:/usr/bin:/usr/X11R6/bin:/root/bin:/opt/au1200_rm/build_tools/bindeclare -x PWD=/opt/au1200_rm/build_tools/bindeclare -x SHELL=/bin/bashdeclare -x SHLVL=1declare -x SSH_ASKPASS=/usr/libexec/openssh/gnome-ssh-askpassdeclare -x SSH_AUTH_SOCK=/tmp/ssh-XX3LKWhz/agent.4242declare -x SSH_CLIENT
6、=52 2236 22declare -x SSH_CONNECTION=52 2236 86 22declare -x SSH_TTY=/dev/pts/2declare -x TERM=linuxdeclare -x USER=rootdeclare -x USERNAME=root可以看到,环境变量已经设好,PATH里面已经有了我要加的编译器的路径。2、修改profile文件: #vi /etc/profile 在里面加入:export PATH=$PATH:/opt/au1200_rm/build_tools/bin3. 修改.bashrc文件:# vi /root/.bashrc在里
7、面加入:export PATH=$PATH:/opt/au1200_rm/build_tools/bin后两种方法一般需要重新注销系统才能生效,最后可以通过echo命令测试一下:# echo $PATH看看输出里面是不是已经有了/my_new_path这个路径了。-“/bin”、“/sbin”、“/usr/bin”、“/usr/sbin”、“/usr/local/bin”等路径已经在系统环境变量中了,如果可执行文件在这几个标准位置,在终端命令行输入该软件可执行文件的文件名和参数(如果需要参数),回车即可。如果不在标准位置,文件名前面需要加上完整的路径。不过每次都这样跑就太麻烦了,一个“一劳永逸
8、”的办法是把这个路径加入环境变量。命令 “PATH=$PATH:路径”可以把这个路径加入环境变量,但是退出这个命令行就失效了。要想永久生效,需要把这行添加到环境变量文件里。有两个文件可 选:“/etc/profile”和用户主目录下的“.bash_profile”,“/etc/profile”对系统里所有用户都有效,用户主目录下 的“.bash_profile”只对这个用户有效。“PATH=$PATH:路径1:路径2:.:路径n”,意思是可执行文件的路径包括原先设定的路径,也包括从“路径1”到“路径n”的所 有路径。当用户输入一个一串字符并按回车后,shell会依次在这些路径里找对应的可执行文
9、件并交给系统核心执行。那个“$PATH”表示原先设定的路径 仍然有效,注意不要漏掉。某些软件可能还有“PATH”以外类型的环境变量需要添加,但方法与此相同,并且也需要注意“$”。注意,与DOS/Window不同,UNIX类系统环境变量中路径名用冒号分隔,不是分号。另外,软件越装越多,环境变量越添越多,为了避免造成混乱,建议所有语句都添加在文件结尾,按软件的安装顺序添加。格式如下():# 软件名-版本号PATH=$PATH:路径1:路径2:.:路径n其他环境变量=$其他环境变量:.在“profile”和“.bash_profile”中,“#”是注释符号,写在这里除了视觉分隔外没有任何效果。设置完
10、毕,注销并重新登录,设置就生效了。如果不注销,直接在shell里执行这些语句,也能生效,但是作用范围只限于执行了这些语句的shell。相关的环境变量生效后,就不必老跑到软件的可执行文件目录里去操作了。$PATH:决定了shell将到哪些目录中寻找命令或程序,PATH的值是一系列目录,当您运行一个程序时,Linux在这些目录下进行搜寻编译链接。编辑你的 PATH 声明,其格式为:PATH=$PATH:-:你可以自己加上指定的路径,中间用冒号隔开。环境变量更改后,在用户下次登陆时生效,如果想立刻生效,则可执行下面的语句:$ source .bash_profile需要注意的是,最好不要把当前路径
11、“./” 放到 PATH 里,这样可能会受到意想不到的攻击。完成后,可以通过 $ echo $PATH 查看当前的搜索路径。这样定制后,就可以避免频繁的启动位于 shell 搜索的路径之外的程序了。可用 export 命令查看PATH值rootlocalhost u-boot-sh4# exportdeclare -x CVS_RSH=sshdeclare -x DISPLAY=:0.0declare -x G_BROKEN_FILENAMES=1declare -x HISTSIZE=1000declare -x HOME=/rootdeclare -x HOSTNAME=localhost
12、declare -x INPUTRC=/etc/inputrcdeclare -x LANG=zh_CN.UTF-8declare -x LESSOPEN=|/usr/bin/lesspipe.sh %sdeclare -x LOGNAME=rootdeclare -x LS_COLORS=no=00:fi=00:di=00;34:ln=00;36:pi=40;33:so=00;35:bd=40;33;01:cd=40;33;01:or=01;05;37;41:mi=01;05;37;41:ex=00;32:*.cmd=00;32:*.exe=00;32:*.com=00;32:*.btm=0
13、0;32:*.bat=00;32:*.sh=00;32:*.csh=00;32:*.tar=00;31:*.tgz=00;31:*.arj=00;31:*.taz=00;31:*.lzh=00;31:*.zip=00;31:*.z=00;31:*.Z=00;31:*.gz=00;31:*.bz2=00;31:*.bz=00;31:*.tz=00;31:*.rpm=00;31:*.cpio=00;31:*.jpg=00;35:*.gif=00;35:*.bmp=00;35:*.xbm=00;35:*.xpm=00;35:*.png=00;35:*.tif=00;35:declare -x MAI
14、L=/var/spool/mail/rootdeclare -x OLDPWD=/rootdeclare -x PATH=/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bindeclare -x PWD=/opt/STM/STLinux-2.3/devkit/sources/u-boot/u-boot-sh4declare -x SHELL=/bin/bashdeclare -x SHLVL=1declare -x SSH_ASKPA
15、SS=/usr/libexec/openssh/gnome-ssh-askpassdeclare -x TERM=xtermdeclare -x USER=rootdeclare -x XAUTHORITY=/root/.xauthkSzH7b单独查看PATH环境变量,可用:rootlocalhost u-boot-sh4#echo $PATH/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin添加PATH环境变量,可用:rootlo
16、calhost u-boot-sh4#export PATH=/opt/STM/STLinux-2.3/devkit/sh4/bin:$PATH再次查看:rootlocalhost u-boot-sh4# echo $PATH/opt/STM/STLinux-2.3/devkit/sh4/bin:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin说明添加PATH成功。上述方法的PATH 在终端关闭 后就会消失。所以还是建议通过编辑/
17、etc/profile来改PATH,也可以改家目录下的.bashrc(即:/.bashrc)。第二种方法:# vim /etc/profile在文档最后,添加:export PATH=/opt/STM/STLinux-2.3/devkit/sh4/bin:$PATH保存,退出,然后运行:#source /etc/profile不报错则成功。 fedora经验总结(新手必看)!来源: ChinaUnix博客 日期: 2009.03.28 08:12(共有条评论) HYPERLINK /bbs/thread-1106102-1-1.html我要评论 一、常用技巧1,在linux中设置环境变量的方法
18、: 如果命令在环境变量已经设置的路径下,在终端命令行输入该命令的文件名和参数(如需要参数),回车即可。如果不在已设路径下,命令前需要加上完整的路径。每次都这样会很麻烦,一个“一劳永逸”的办法是把一些常用命令的路径加入环境变量。有三种方法可以设置环境变量:使用以下命令可以把这些路径加入环境变量,但是退出这个命令行就会失效: #export PATH=.:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin #source .bashrc(有些命令即便能调用,也不会出现任何信息,或者要输入root密码的,说明要以超级用户权限运行)
19、修改profile文件,可永久生效。有两个文件可选:“/etc/profile”和用户主目录下的“.bash_profile”,“/etc/profile”对系统里所有用户有效,用户主目录下的“.bash_profile”只对这个用户有效。profile文件中“PATH=$PATH:$HOME/bin”这一行是设置环境变量路径的,“$PATH”表示原先设定的路径仍然有效,注意不要漏掉,某些软件可能还有“PATH”以外类型的环境变量需要添加,但方法与此相同,并且也需要注意“$”。可在此行后面加入需要设置的路径,如:“PATH=$PATH:$HOME/bin:/sbin:/usr/bin:/usr
20、/sbin:/usr/local/bin:/usr/local/sbin”,当用户输入一个命令并回车后,shell会依次在这些路径里找对应的可执行文件并交给系统核心执行。修改用户主目录下的“.bashrc”文件,可永久生效。 在里面加入“PATH=.:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin”注意,与DOS/Window不同,UNIX类系统环境变量中路径名用冒号分隔,不是分号。另外,软件越装越多,环境变量越添越多,为了避免造成混乱,建议所有语句都添加在文件结尾,按软件的安装顺序添加。格式如下:# 软件名-版本号PA
21、TH=$PATH:路径1:路径2:.:路径n其他环境变量=$其他环境变量:.在“profile”和“.bash_profile”中,“#”是注释符号,写在这里除了视觉分隔外没有任何效果。设置完毕,注销并重新登录,设置就生效了。如果不注销,直接在shell里执行这些语句,也能生效,但是作用范围只限于执行了这些语句的shell。 相关的环境变量生效后,就不必总是到软件的可执行文件目录里去操作了。设置完成后,可用“echo $PATH”命令进行验证。2,虚拟控制台与运行级别:在虚拟控制台下(TUI),可以使用Alt+F1到Alt+F6在多个虚拟控制台间切换;在图形界面下,可以使用Ctrl+Alt+F
22、1到Ctrl+Alt+F6切换到虚拟控制台,Ctrl+Alt+F7可切换到图形界面下。系统任何时候都运行在一个指定的运行级别上,系统的关机、重启等动作实际上是运行级别间的切换,单用户时可以直接用“init x”进行关机和重启。 运行级别 说明 0 所有进程将被终止,机器将有序地停机,关机时处于此级别 1 单用户模式,用于系统维护,只有少量进程运行,所有的服务也不启动 2 多用户模式,只比“3”少启动NFS服务 3 多用户模式,允许多用户登录,是系统默认的级别 4 留给用户自定义的级别 5 多用户模式,并在启动后运行X-windows,给出一个GUI 6 所有进程被终止,系统重启#init 级别
23、数 (切换系统的运行级别为“级别数”)#runlevel (查看系统当前运行级别) 3,设置系统默认运行级别:#vi /ect/inittab (将“id:5:initdefault:”中的“5”改为需要的运行级别代码)4,关机与重启:#halt (系统关机)#reboot (系统重启) 在多用户环境中,通常使用“shutdown”命令关机或重启系统,它能够以一种比较安全的方式来关闭系统,所有登录的用户将被通知,新的登录将被阻止,同时所有进程也将被通知。#shutdown 选项-t sec (等待sec秒后关机)-k (并不真的关机,只是给每个用户发送警告信息)-r (关闭之后重启系统)-h
24、(关闭之后停滞系统)-f (重启后不用fsck检查磁盘)-F (重启后强制用fsck检查磁盘)Time (设置系统关闭的时间,后面加上时间,格式为hh:mm)Warning-message (发给用户的警告信息)#shutdown -r +5 system will be reboot 5 minnites,please save your work.(5分钟后重启,并对登录的用户发出警告)#shutdown -r now(立即重启)#shutdown -h now(立即关机)#shutdown -t 60(60秒后关机)#shutdown -k(仅发出警告,假关机)5,linux下清屏命令#
25、clear (或Ctrl+l)二、网络命令1,ifconfig命令 ifconfig可设置网络设备的状态,或是显示目前的设置。#ifconfig 网络设备 down|up|-allmulti|-arp|-promisc adddel io_addr irq media mem_startmetric mtu netmasktunnel -broadcast - pointopointIP地址add 设置网络设备IPv6的IP地址。del 删除网络设备IPv6的IP地址。down 关闭指定的网络设备。设置网络设备的类型与硬件地址#ifconfig eth0 hw ether XX:XX:XX:X
26、X:XX:XX(更改eth0的mac地址)io_addr 设置网络设备的I/O地址。irq 设置网络设备的IRQ。media 设置网络设备的媒介类型。mem_start 设置网络设备在主内存所占用的起始地址。metric 指定在计算数据包的转送次数时,所要加上的数目。mtu 设置网络设备的MTU。netmask 设置网络设备的子网掩码。tunnel 建立IPv4与IPv6之间的隧道通信地址。up 启动指定的网络设备。-broadcast 将要送往指定地址的数据包当成广播数据包来处理。-pointopoint 与指定地址的网络设备建立直接连线,此模式具有保密功能。-promisc 关闭或启动指定
27、网络设备的混杂(promiscuous)模式。IP地址 指定网络设备的IP地址。网络设备 指定网络设备的名称。 使用ifconfig和route命令更改IP设置:#ifconfig eth0 down (关闭eth0)#ifconfig eth0 hw ether XX:XX:XX:XX:XX:XX(临时更改eth0的mac地址,即时生效)#ifconfig eth0 netmask up (临时设置IP地址,子网掩码,即时生效)#route add default gw (临时设置网关,即时生效)#vi /etc/sysconfig/network-scripts/ifcfg-eth0 (编
28、辑配置文件,永久更改IP设置,重启生效)#vi /etc/resolv.conf (编辑配置文件,设置DNS)#ifconfig eth0 promisc (将eth0设置为混杂模式)#ifconfig eth0 -promisc (取消混杂模式)#ifconfig eth0 arp (打开eth0的arp解析)#ifconfig eth0 -arp (关闭arp解析)#ifconfig eth0:1 netmask #ifconfig eth0:2 netmask (一块网卡设置两个地址)2,route命令# route -n|ee (显示内核路由表)# route add -net|-ho
29、st 目標主機或網域 netmask 目标掩码 gw|dev (添加一条路由)# route del -net|-host 目標主機或網域 netmask 目标掩码 gw|dev (删除一条路由)-n (以IP地址的形式显示路由表)-ee (以较长的形式显示路由表)add (增加一条路由)del (删除一条路由)-net (操作一条到网络的路由)-host (操作一条到主机的路由)netmask (子网掩码)default (即“-net netmask ”)gw (网关,即gateway,需要以IP地址的形式给出)dev (网关,即device,需要以设备名的形式给出)# route -ee
30、Kernel IP routing tableDestination Gateway Genmask Flags Metric Ref Use Iface MSS Window irtt * 55 UH 0 0 0 ppp0 0 0 0 * U 0 0 0 virbr0 0 0 0 * U 0 0 0 eth0 0 0 0default * U 0 0 0 ppp0 0 0 0 路由表中各字段含义Destination (目标地址)Gateway (网关的主机名或IP地址,*表示目标网络与主机在同一子网内,即直连路由,不需要网关)Genmask (目标地址的网络掩码)Flags (表示路由的标
31、志,有以下几种) U (route is up):路由已经启动 H (target is a host):目标是一台主机 G (use gateway):使用网关 R (reinstate route for dynamic routing):对动态路由进行复位设置 D (dynamically installed by daemon or redirect):已经由服务或转port功能设置为动态路由 M (modified from routing daemon or redirect):路由已經被修改 ! (reject route):拒绝路由,用来抵挡不安全的网络Metric (路由的单
32、位开销量,即到达指定网络所需的跳数)Ref (对这个路由的引用次数)Use (表示路由表条目被使用的次数)Iface (即interface,表示数据应发往哪个接口) 使用route命令添加的路由条目,在重启后会失效。如果需要添加永久路由,可以将route add .语句添加到以下文件里:1.在/etc/rc.local里添加2.在/etc/sysconfig/network里添加到末尾 开启IP转发:# echo 1 /proc/sys/net/ipv4/ip_forward (临时)# vi /etc/sysctl.conf - net.ipv4.ip_forward=1 (永久开启)3,
33、netstat命令: netstat命令用于显示网络连接、路由表和网络接口信息,用户可以知道目前有哪些网络连接正在运行。#netstat-a (显示所有的socket,包括正在监听的)-c (每隔一秒就刷新一遍,直到中断)-i (显示所有网络接口的信息)-n (以IP代替名称,显示网络连接信息)-r (显示核心路由表)-t (显示tcp协议的连接信息)-u (显示udp协议的连接信息)-v (显示正在进行的网络协议)三、文件系统管理1,查看文件系统:(1)df命令 df命令用于检查文件系统的磁盘空间占用情况。可以获取硬盘被占用了多少空间,目前还剩下多少空间等信息。#df 选项-a, -all
34、(显示所有文件系统的使用情况,包括虚拟文件系统) include dummy file systems-B, -block-size=SIZE (使用字节大小块) use SIZE-byte blocks-h, -human-readable (以人们可读的形式显示大小) print sizes in human readable format (e.g., 1K 234M 2G)-H, -si (同-h,但是强制使用1000而不是1024) likewise, but use powers of 1000 not 1024-i, -inodes (列出inode信息,代替块用法) list
35、inode information instead of block usage-k (类似-block-size=1k) like -block-size=1K-l, -local (只列出本地文件系统) limit listing to local file systems -no-sync (在获取使用信息前不调用sync) do not invoke sync before getting usage info (default)-P, -portability (使用POSIX输出格式) use the POSIX output format -sync (在获取使用信息前调用syn
36、c) invoke sync before getting usage info-t, -type=TYPE (只列出指定类型的文件系统) limit listing to file systems of type TYPE-T, -print-type (显示文件系统类型) print file system type-x, -exclude-type=TYPE (只列出不是指定类型的文件系统) limit listing to file systems not of type TYPE(2)fdisk命令 fdisk命令用于查看硬盘及分区的详细信息,如磁头、柱面、扇区、磁道等。#fdisk
37、 -b SSZ -u DISK (改变分区表) Change partition table#fdisk -l -b SSZ -u DISK (列出分区表)List partition table(s)#fdisk -s PARTITION (给出分区大小,以block为单位)Give partition size(s) in blocks这里的DISK是一些像/dev/sda或/dev/hdb的设备,分区是一些像/dev/hday的设备 Here DISK issomething like /dev/hdb or /dev/sda and PARTITION is something lik
38、e/dev/hda7-u (给出开始和结束扇单元,代替柱面)give Start and End in sector (instead of cylinder) units-b 2048 (确定操作使用2048字节扇区的磁盘) (for certain MO disks) use 2048-byte sectors2,创建文件系统:#mkfs -t fstype (指定要创建的文件系统的类型)-c (查找坏块,初始化坏块列表)#mkfs -t ext3 /dev/sdb2 (在b串口硬盘的第2个分区上创建ext3类型的文件系统)#mkfs -t vfat /dev/sda1(在a串口硬盘的第1
39、个分区上创建fat32类型的文件系统)3,挂装其它存储设备:#mount |-t fstype (指定要挂装的文件系统的类型,如果不知道可以用-t auto参数让系统自行判断)-r (如果不想修改要挂装的文件系统,可以使用此参数,以只读方式挂起)-w (以可写的方式挂装文件系统)-o (用于指定选项,如只读为ro,读写为rw)-a (安装所有的文件系统)#mount -t vfat /dev/sdb1 /mnt/ude(将/dev/sdb1挂载到/mnt/ude) fedora8可直接识别NTFS,FAT32格式的文件系统,系统默认挂装在“/media”下 挂装ntfs格式分区#mount -
40、t ntfs-3g 设备名 挂装点 挂装ISO文件#mount -t iso9660 -o loop 文件名 挂装点 如果想制作ISO文件,把光盘放到光驱中,然后执行如下的拷贝命令就可以把光盘上的内容拷贝到一个ISO文件中去。#cp /dev/cdrom *.iso4,卸载挂装的文件系统:#umount 设备名或挂装点#umount /dev/cdrom (将/dev/cdrom上挂装的文件系统卸载)5,查看目录或文件属性:#ls 参数 (dos下“dir”命令)-a 列出所有文件,包括以“.”开头的隐藏文件;-A 列出除“.”和“.”外的所有文件;-B 不输出以“”结尾的备份文件;-C 按列
41、输出,纵向排序;-c 输出文件的i节点的修改时间,并以此排序;-d 将目录像文件一样显示,而不是显示其下的文件;-F 在文件后以符号说明文件类型,为可执行文件;-G 输出文件的组信息;-h 列出文件实际大小-i 输出文件的i节点的索引信息;-l 列出文件详细信息,可用“ll”命令代替;-m 横向输出文件名,以“,”分开;-n 用数字的UID,GID代替名称;-o 显示除组外的详细信息;-Q 把文件名用双引号括起;-R 列出所有子目录下的文件;-s 在文件后输出文件大小;-S 以文件大小排序;-t 以时间排序;-u 以上次被访问的时间排序;-x 按列输出,横向排序;-X 以文件的扩展名排序;-1
42、 一行只输出一个文件;-color 不显示彩色文件名;6,删除文件或目录:#rm 参数 文件名目录名-f (强制删除)-r (递归地删除)#rm -rf /temp (强制删除/temp及其下所有文件)7,新建目录:#mkdir 目录名8,删除目录:#rmdir 目录名 (rmdir命令只能删除空目录)创建链接文件:ln -s(表示符号链接) /路径/源文件 /路径/链接文件.ln;(“链接文件”类似win中的“快捷方式”)9,改变路径:#cd 绝对或相对路径10,创建链接文件: linux中的链接文件类似windows中的快捷方式。链接文件可部分代替原文件的功能,且对链接文件进行修改,可自动
43、更新到源文件中。#ln -s 源文件 目标文件 (-s表示创建的是符号链接)#ln -s /test/file /test1/file.ln (为file文件创建链接文件file.ln)11,复制文件:#cp 参数 源文件 目标文件-f (强制覆盖已经存在的目标文件)-r (递归地连同子目录一起copy)12,移动文件:#mv 源文件 目标文件 mv命令类似于windows中的剪切,不同之处在于它带有将文件改名的功能。13,显示文件内容:#cat 文件名 cat命令可以将文件内容显示出来,也可以将文件内容合并后输出。它不支持分而显示,如果文件较长,只能看到最后一页。#cat file1 fil
44、e2 file3 (将file1和file2连接起来并输出到file3)14,分页显示文件内容:#more +“num”or“str” 文件名 more命令可以分页显示文件内容,+参数后可跟行号或字符串,+行号表示从指定行开始显示,+字符串表示从指定字符串处开始显示。#more +abc /etc/rpc (从字符串“abc”开始分页显示/etc/rpc文件的内容)三、用户和组群管理 1,linux下的帐户系统文件 linux系统中,用户和组的相关系统都保存在用户和组数据库文件中,主要有“/etc/passwd”、“/etc/shadow”、“/etc/group”和“/etc/gshadow
45、”四个文件。(1),用户帐号文件passwd /etc/passwd文件也称为密码文件,是于基本的用户数据库文件,它列出了所有有效用户的相关信息。passwd文件需要能够被所有用户访问。该文件内每个用户占一行,被分为7个字段:(1) 用户名;(2) 密码,采用加密形式;(3) UID;(4) GID;(5) 帐号信息,也叫GECOS。(6) 用户主目录;(7) 登录shell。 /etc/passwd中UID很重要,系统使用UID而不是用户名来区别用户。099为系统UID,如果passwd文件中有两个不同用户具有相同的UID,则这两个用户对相互的文件具有相同的存取权限。 /etc/passwd
46、文件格式可以使root能够要求用户定期修改他们的口令。passwd文件中,有些加密口令项中有“,”号,“,”号后字符的意义为:(1)第一个字符,口令有效期的最大周数,(2)第二个字符,再次修改口令前原口令需使用的最小周数,(3)其余字符表示口令最新修改时间。steve:xyDfccTrt180 x,M.y8:0:0:admin:/:/bin/shpat:xmotTVoyumjls:0:0:admin:/:/bin/sh 口令中“,”后字符是根据passwd_esc计数器计算的,计算的方法为: :=0 /=1 09=211 AZ=12=37 az=3863 root需要将前两个字符放进/etc/
47、passwd文件中,以要求用户定期修改口令,另外两个字符在用户修改口令时由passwd自动写入。可在“,”后加入“.”,使用户在下次登录时必须修改口令。有两种特殊情况:(1)第一字符小于第二字符,则不允许用户修改口令,仅root可以修改;(2)前两个字符都是“.”,用户下次登录时将被要求修改口令,修改后passwd命令将“.”删除,以后不再要求用户修改口令。(2),用户口令文件-shadow 在影子口令机制中,加过密的口令数据项被从passwd文件中转移到shadow文件中,passwd文件仍然可以被系统上所有用户访问,shadow文件只能被具有root权限的用户访问。shadow文件包含着口
48、令失效期和帐号是否被禁用等信息,分为9个字段:(1) 用户名;(2) 加过密的口令。如果为空则登录时不需要口令,如果含有不属于口令集.,/,0-9,A-Z,a-z中的字符,则对应的用户不能登录;(3) 从1970年1月1日起计算,到用户最后一次修改口令时的天数(时间起点会因系统不同而不同);(4) 两次修改口令之间所需的最小天数,即一次修改后需要再过多少天才能修改这个口令;(5) 口令保持有效的最大天数,即一次修改后需要再过多少天这个口令必须被修改;(6) 警告天数,需要在这个口令失效前多少天对用户发出警告;(7) 口令失效后多少天禁用此帐号,另外的解释是用户没有登录活动但帐号仍能保持有效的天
49、数;(8) 从1970年1月1日起计算,该口令已经被禁用多少天,另外的解释是帐号从设置开始可使用的天数;(9) 保留。 (3),用户组帐号文件-group每个用户至少会属于一个分组,也就是他缺省的用户分组。在需要的情况下,用户还可以分配到其他分组中去。group文件也需要能够被所有用户访问,因为这样应用程序才能测试用户与分组之间的关联性。分组名不允许超过8个字符,每个分组ID也必须是唯一的。/etc/group包含着每个每个用户缺省的分组ID(GID),分为4个字段:(1) 分组名;(2) 加过密的分组口令;(3) GID;(4) 以“,”分隔的分组成员清单(4),使用vipw和vigr命令编
50、辑用户帐号文件和组帐号文件 vipw或vigr启动vi编辑器打开文件的一个副本,每次只允许一个人编辑passwd或group文件,可以防止用户在passwd文件被编辑的时候修改他们的口令。当编辑结束时,用副本代替原文件。可以使用“vipw -s”给shadow文件加入对应的项。(5),使用pwck和grpck验证用户和组帐号文件 pwck命令检查密码文件passwd和shadow的完整性,以确认文件中的信息都有正确的格式、各数据域有合法的信息。对于不正确的信息建议用户删除。 grpck命令检查group和gshadow文件的完整性,以确认文件中的信息都有正确的格式、各数据域有合法的信息。2,用
51、户帐号维护命令(1),useradd命令#useradd 参数 用户名 useradd命令允许一次添加一个用户到系统中,如果命令中不定义参数,则使用各参数的默认值,可以使用“useradd-D”命令查看各参数的默认值。-c 其他信息 (在GECOS域中设置用户全名,与其它参数一样,如果设置值中间有空格,必须在两端加上引号)-d 主目录 (缺省情况下,用户主目录被定义为/home/用户名,此参数可以改变主目录)-e 失效日期 (缺省情况下,帐号永不失效,此参数可以设置用户失效日期,日期格式为MM/DD/YY,2000年用00表示)-f 天数 (此参数定义口令失效后该帐号还能够使用的天数,0表示立
52、刻禁用,-1表示永不禁用,缺省值为1)-g 分组名或GID (此参数定义用户的缺省分组,后面可以跟分组名或GID,但分组必须已经在group文件中定义)-G 分组名或GID (此参数把用户添加到其他的分组中去,可用“,”分隔,定义多个分组)-M (不建立用户登录子目录)-n (redhat把建立一个与新用户同名的分组做为用户添加工作的一部分,此参数禁止这种行为)-s shell路径 (此参数可定义用户的登录shell,缺省为/bin/bash)-u UID (缺省情况下,程序会自动找出一个可用的UID分配给新用户,此参数可将指定UID分配给新用户)#useradd -c H.D.core -g
53、 admin -G sopport,root -s /bin/tcsh hdc(添加一个名为hdc的用户,命名为H.D.cor,缺省分组为admin并属于sopport和root组,登录shell为/bin/tcsh)(2),usermod命令#usermod 参数 用户名 usermod命令允许修改现有用户的信息,它的工作原理与useradd类似,参数作用相同。在使用-l和-u参数时应注意,必须确认被修改的用户当前没有登录上机或运行任何程序,否则会引起不便。-l 新用户名 (此参数可修改现有用户的登录名)(3),userdel命令#userdel -r 用户名 userdel命令可删除现有用
54、户,此命令只有-r一个可选参数。在不加参数时,将只删除passwd、shadow和group中关于此用户的项目,加-r参数将递归地删除以上项目和登录子目录中该用户的所有文件。3,组帐号维护命令:(1),groupadd命令 对于用户分组进行操作的命令类似于对用户进行操作的命令,但他们并不作用于单个用户,而是作用于/etc/group文件中列出的分组。改变分组并不会改变该分组中用户的属性。#groupadd 参数 分组名-g GID (指定新分组的GID,缺省情况下系统会把GID指定为找到的第一个可用值)-r (缺省情况下,系统会自动搜索第一个大于499的GID值,此参数告groupadd命令这
55、个一个系统分组,需要使用第一个小于499的可用值)-f (在添加新分组时,如果该分组已经存在,命令会自动退出执行,使用此参数,在退出执行前不会修改分组的设置值)#groupadd -g 800 test (添加一个GID为800,名为test的分组)(2),groupmod命令 groupmod命令可以修改某个现有分组的属性。#groupmod 参数 分组名-g 新GID (改变现有分组的GID为新GID)-n 新组名 (改变现有分组的分组名为新组名)#group -g 1000 -n new test (将test分组的GID和分组名分别改为1000和new)(3),groupdel命令#g
56、roupdel 分组名 (删除指定分组,此命令没有可选参数)4,口令维护命令(1),passwd命令 root可以使用passwd命令修改任何用户的口令。passwd会提示用户输入一个新口令,并需要重复输入一次,如果输入的口令过于简单,passwd会发出抱怨,要求用户使用复杂一些的口令。#passwd 参数 用户名-k或-keep-token (保持没有到期认证的令牌)-d或-delete (从指定的用户名删除口令,root only)-l或-lock (锁住指定的用户名,root only)-u或-unlock (解锁指定的用户名,root only)-f或-force (强制操作)-x或-
57、maximum=DAYs (最大密码生存天数,root only)-n或-minimum=DAYs (最小密码生存天数,root only)-w或-warning=DAYs (密码失效前对用户发出警告的天数,root only)-i或-inactive=DAYs (密码失效后多少天禁用此帐户,root only)-S或-status (报告指定帐户的口令状态,root only)-stdin (从stdin读取新的令牌,root only)-usage (显示简短的使用信息)(2),gpasswd命令 类似于passwd命令,root可用gpasswd修改任何组的口令。#gpasswd 分组名
58、(3),chfn命令 chfn用来改变finger信息,该信息是存放在/etc/passwd档内的GECOS信息,可使用finger命令来显示。linux的finger显示4段信息:真实姓名、工作地点、办电和宅电。#chfn 参数 用户名-f 姓名 (改变指定用户的姓名)-o office (改变指定用户的工作地)-p phone (改变指定用户的办电)-h homephone (改变指定用户的宅电)(4),chsh命令 chsh用来改变用户的登录shell,如果在命令列没有指定shell,chsh会提示一个有效shell给用户。#chsh 参数 用户名-s (更改指定用户的登录shell)-
59、l (列出记录在/etc/shells文件中的shell)5,用户和组状态命令(1),id命令 id命令用于显示指定用户的实际ID和有效ID。#id 参数 用户名-a (忽略,用于兼容其他版本)-g (只显示有效effectiveGID)-G (显示所有GID)-n (显示用户名而不是数字,不可单独使用)-r (显示实际ID而不是有效ID)-u (只显示有效UID)(2),whoami命令 whoami命令用于查看当前用户名。(3),su命令使用su命令可以从当前用户切换为其他用户,如不加用户名,则切换为root用户。出于安全的考虑,系统一般禁止root从除系统控制台外的其他方式登录,以roo
60、t身分登录一般使用su命令。从root切换到其他用户时不需要输入口令。su不记录以root身份做了什么,它会创建一条日志说明谁在什么时候变成了root。#su 参数 用户名-,-l,-login (类似重登录为新用户,以新用户改变环境变量及登录目录)-c 命令(变为新用户,执行一条“命令”后再变回原用户)-f(不读取启动文件,如“csh,cshre”等,仅用于csh或tcsh两种shell)-m,-p(不改变环境变量)(4),groups命令 groups命令用来显示指定用户的属组。#groups 用户名6,临时禁用帐号 在不删除帐号的情况下临时禁用它,可以先编辑tail脚本,然后将该帐号的登
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 驻工会派驻组监督制度
- 宫外孕的护理科研与论文写作
- 2025年网络霸凌干预培训课件
- 2025年实验室废物处理培训
- 1-3-Diphenylisobenzofuran-solution-生命科学试剂-MCE
- 医联体内医生联动教育机制构建
- 医疗隐私责任险的投保与理赔要点
- 医疗辐射防护的精准化防护方案评价体系
- 医疗资源区域协同发展
- 2025年安全责任落实课件
- DZ∕T 0345-2020 煤炭矿区地质勘查成果总结报告编写规范(正式版)
- 踝关节骨折LaugeHansen分型课件
- 国际大奖小说傻狗温迪克
- 15D502 等电位联结安装
- 成人有创机械通气气道内吸引技术操作解读-
- 标志桩安装质量评定表
- 初高中数学衔接讲义
- 安徽杭富固废环保有限公司10万吨工业废物(无机类)资源化利用及无害化处置项目环境影响报告书
- 多学科设计优化综述
- mcn机构的通讯录
- 卫星导航系统课程教学大纲
评论
0/150
提交评论