linux下常用管理命令

来源:百度文库 编辑:神马文学网 时间:2024/04/29 10:49:16
',1)">
创建新用户
useradd命令(也可以使用adduser)用来创建新的用户帐号,其命令格式如下:
-d 设置新用户的登陆目录
-e 设置新用户的停止日期,日期格式为MM/DD/YY
-f帐户过期几日后永久停权。当值为0时帐号则立刻被停权。而当值为-1时则关闭此功能。预设值为-1
-g 使新用户加入群组
-G 使新用户加入一个新组。每个群组使用逗号“,”隔开,不可以夹杂空白字
-s 指定新用户的登陆Shell
-u 设定新用户的ID值
成功创建一个新用户以后,在/etc/passwd文件中就会增加一行该用户的信息,其格式为:〔用户名〕:〔密码〕:〔UID〕:〔GID〕:〔身份描述〕:〔主目录〕:〔登陆Shell〕,其中个字段被冒号“:”分成7各部分,由于小于500的UID和GID一般都是系统自己保留,不用做普通用户和组的标志,所以新增加的用户和组一般都是UID和GID大于500的。
例如使用如下命令:
useradd jonllen
将会创建一个名为jonllen的用户
设置和修改用户口令passwd
passwd命令用来设置和修改用户命令,只有超级用户和用户自己可以修改密码,其他的普通用户没有修改其他用户密码的权利。其命令为:passwd(用户名)。为避免输入密码是被人注意到有多少位,Linux并不采用类似Windows的密码回显〔显示为*号〕,所以,输入的这些字符是看不见的。例如,为新建的jonllen用户设置密码可使用如下命令:
passwd jonllen
根据系统的提示信息输入两次密码,系统会显示passwd ::allauthentication tokens updatedsuccessfully。表示修改密码成功了。新建用户的工作只有在该用户设置了口令后才算完成,否则无法使用该用户名登陆。
修改用户信息usermod
usermod命令用来修改用户信息,其命令格式为:usermod〔选项〕〔用户名),常用命令选项如下:
-d 更新使用者新的登陆目录
-e 设置新用户的停止日期,日期格式为MM/DD/YY
-f帐户过期几日后永久停权。当值为0时帐号则立刻被停权。而当值为-1时则关闭此功能。预设值为-1
-g 更新使用者新用户加入群组
-G 定义使用者为一堆groups的成员。每个群组使用“??”隔开,不可以夹杂空白字
-l 变更用户登陆时的名称,同时使用者目录名也会跟着更动成新的名称
-s 指定新用户Shell
-u用户ID值,必须为唯一的ID值。用户目录树下所用的文档目录其userID会自动变更,放在拥护目录外的文档则要自行手动更动
例如,下面的命令修改用户信息:
usermod –d/home –s/bin/bash jonllen
将用户名jonllen的主目录路径设置在/home,登陆的Shell设置为/bin/bash。一般情况下usermod命令会参照命令指令的部分修改用户帐号信息。但usermod不允许改变正在线上的使用者帐号名称,因此,当用usermod来改变用户帐号信息时,必须确认这名没在电脑上执行任何程序。
删除用户userdel
userdel命令用来删除已经存在的用户及相关的文档,其命令格式为:userdel〔选项〕用户名,userdel命令的常用选项:
-r 将用户目录下的文档一并删除。在其他位置上的文档也将一一找出并删除。
Userdel不允许移除正在线上的用户帐号,因此,如果想删除这类用户帐号,必须先杀掉用户在系统上运行的程序才能进行帐号删除。
用户间切换su
su命令常用于不同用户间切换。其命令格式为:su〔用户名〕。su命令的常见用法是变成跟用户或超级用户,如果发出不带用户名的su命令,则系统提示输入根口令,输入之后则可换为根用户。如果登陆为根用户,则可以用su命令成为系统上任何用户而不需要口令。例如,如果登陆为jonllen,要切换为root,只要用如下命令:
su root
然后系统提示输入root口令,输入正确的口令之后就可以切换到root。完成之后就可以用exit命令返回到jonllen。
查看当前在线用户who
who命令主要用于查看当前在线上的用户情况。这个命令非常有用。如果用户想和其他用户建立即使通讯,比如使用talk命令,那么首先要确定的就是该用户确实在线上,不然talk进程就无法建立起来。又如,系统管理员希望监视每个登陆的用户此时此刻的所作所为,也要使用who命令。Who命令的常用命令格式和常用选项如下:
who (选项)
-a 显示所有用户的所有信息
-m 显示运行该程序的用户名,和“who am I”的作用一样
-q 只显示用户的登陆帐号和登陆用户的数量,该选项优先级高于其他任何选项
-u 在登陆用户后面显示该用户最后一次对系统进行操作距今的时间
-H 显示列标题
所有的选项是可选的,例如,使用命令:
who -aH
查看所有用户的所有信息及标题。
新建组群groupadd
groupadd命令用来建立新的用户组,其命令格式为:groupadd〔选项〕〔用户名称〕,常用选项有:
-gGID值。除非使用-o参数不然该值必须是唯一,不可相同,数值不可为负,GID值预设为最小不得小于500而逐次增加。0—499传统上是保留系统帐号使用。
-f 新增的一个已经存在的群组帐号,系统会出现错误讯息然后结束groupadd
如果是这样的情况,不会新增这个群组(如果是这个情况,系统不会在新增一次)。也可同时加上-g选项,当你加上一个GID时,此时GID就不用是唯一值,可不加-o参数,建好的群组会显示建立后的结果(adding a group asneither –g or –o options were specified),这是Red Hat Linux额外增设的选项。
删除群组groupdel
groupdel命令用来删除已经存在的用户组,其命令格式为:groupdel(组名)。同userdel类似,如果有任何一个组内的用户在上线,就不能移除该用户组,因此,如果组内有用户在线的话,最好先移出该用户,然后在删除该用户。
vi编辑器基本语法
vi是Linux里最基本的编辑器,可分为三种操作状态,分别是命令模式(Commandmode)、插入模式(Insert mode)和底线命令模式(Last line mode),各模式的功能区分如下:
1.Comandmode:控制屏幕光标的移动,字符或光标的删除,移动复制某区段及进入Insert mode下,或者到Last line mode。
2.Insert mode:唯有在Insertmode下,才可做文字数据输入,按Esc等可回到Comand mode。
3.Last linemode:将储存文件或离开编辑器,也可设置编辑环境,如寻找字符串、列出行号等。不过可以把vi简化成两个模式,即是将Last linemode也算入Command mode,把vi分成Command 和Insert mode。
[vi的基本操作]
在系统提示符号输入vi及文件名称后,即可进入vi全屏幕编辑画面:vi(文件名)。有一点要特别注意,就是进入vi之后是默认是处于“Command mode”命令模式,需要要切换到Insert mode才能输入文字。
1.切换至Insert mode编辑文件
在Command mode下按‘i’、‘a’或‘o’三键就可进入Insertmode。这时候就可以开始输入文字了。
i 插入,从目前光标所在之处插入所输入的文字。
a 增加,目前光标所在的下一个字开始输入文字。
o 插入新的一行,从行首开始输入文字。
2.Insert的切换→Command mode,按Esc键
3.离开vi及保存文件
在Command mode下,可按冒号“:”键入入Last line mode,例如:
:w filename (输入“wfilename”,将文章存入指定的文件名filename)
:wq(输入“wq”,因为进入之时已经指定文件名testfile,所以会写入testfile并离开vi)
:q! (输入“q!”,强制离开并放弃编辑的文件)
[Command mode常用功能键命令]
1.移动光标
vi可以直接用键盘上的光标键来上下左右移动,但正规的vi是用小写英文字母
h、j、k、l,分别控制光标左、下、上、右移一格。
按Ctrl+B:屏幕往后移动一页。[常用]
按Ctrl+F:屏幕往前移动一页。[常用]
按Ctrl+U:屏幕往后移动半页。
按Ctrl+D:屏幕往前移动半页。
按 0 (数字零):移动文章的开头。[常用]
按 G:移动到文章的最后。[常用]
按 w:光标跳到下个word的开头。[常用]
按 e:光标跳到下个word的字尾。
按 b:光标回到上个word的开头。
按 $:移到光标所在行的行尾。[常用]
按 ^:移到该行第一个非空白的字符。
按 0:移到该行的开头位置。[常用]
按 #:移到该行的第#个位置,例:51、121。[常用]
2.删除文字
x:每按一次删除光标所在位置的后面一个字符。[超常用]
#x:例如,6x 表删除光标所在位置的后面6个字符。[常用]
X:大写的X,每按一次删除光标所在位置的前面一个字符。
#X:例如,20X 表删除光标所在位置的前面20个字符。
dd:删除光标所在行。[超常用]
#dd:例如,6dd表删除从光标所在的该行往下数6行之文字。[常用]
3.复制
yw:将光标所在处到字尾的字符复制到缓冲区中(和#x、#X的功能相反)。
p:将缓冲区内的字符粘贴到光标所在位置(指令‘yw’与‘p必须搭配使用)。
yy:复制光标所在行。[超常用]
p:复制单行到您想粘贴之处。(指令‘yy’与‘p’必须搭配使用)
#yy:如:6yy表示拷贝从光标所在的该行往下数6行之文字。[常用]
p:复制多行到您想粘贴之处。(指令‘#yy’与‘p’必须搭配使用)
“ayy:将复制行放入buffer a,vi提供buffer功能,可将常用的数据存在buffer
“ap:将放在buffer a的数据粘贴。
“b3yy:将三行数据存入buffer b。
“b3p:将存在buffer b的资料粘贴
4.取代
r: 取代光标所在处的字符:[常用]
R:取代字符直到按Esc为止。
5.复原(undo)上一个指令
u:假如您误操作一个指令,可以马上按u,回复到上一个操作。[超常用]
.: .可以重复执行上一次的指令。
6.更改
cw:更改光标所在处的字到字尾$处。
c#w:例如,c3w代表更改3个字。
7.跳至指定行
Ctrl+G:列出光标所在行的行号。
#G:例如,15G,表示移动光标至文章的第15行行首。[常用]
[Last line mode常用功能键命令]
要进入Last line mode,先按Esc键确定您已经处于Commandmode下后,再按冒号“:”或“/”或“?”三键的其中一键进入Last line mode。
1.列出行号
set nu:输入“set nu”后,会在文章的每一行前面列出行号。
2.跳到文章的某一行
#:井号代表一个数字,在Last linemode提示符号“:”前输入数字,再按Enter就会跳到该行了,如:15[Enter]就会跳到文章的第15行。[常用]
3.寻找字符串
/关键字:先按/,再输入您想寻找的字,如果第一次找的关键字不是您相尽可能的,可以一直按n会往下寻找到您要的关键字为止。
?关键字:先按?,再输入您想寻找的字,如果第一次找的关键字不是您想要的,可以按n会往前寻找到您要的关键字为止。
4.取代字符串
1,$s/string/replae/g:在last linemode输入“1,$s/string/replace/g”会将全文的string字符串取代为replace字符串,其中1,$s就是指搜寻区间为文章从头至尾的意思,g则是表示全部取代不必确认。%s/string/replace/c:同样会将全文的string字符串取代为replace字符串,和上面指令不同的地方是,%s和1,$s是相同的功能,c则是表示要替代之前必须再次确认是否取代。
1,20s/string/replace/g:将1至20行间的string替代为relpace字符串。
5.存文件
w:在last line mode提示符号“:”前按w即可将文件存起来。[超常用]
#,# wfilename:如果您想摘取文章的某一段,存成另一个文件,可用这个指令#代表行号,例如30,50 wnice,将您正在编辑文章的第30~50行存成nice这个文件。
6.离开
q:按q就离开,有时如果无法离开vi,可搭配“!:强置离开vi,如“q!”
qw:一般建议离开时,搭配w一起使用,如此离开时还可存文件。[常用]
smb文件共享
1.启动samba服务
/etc/init.d/samba start
2.访问Windows共享目录
smbclient -U Jonllen -L192.168.0.77(之后根据提示输入用户Jonllen的密码)
3.将共享目录mount挂接到本地机上
mount -t smbfs -o username=Jonllen//home/windows
也可以把 passwd 直接作为参数传递
mount -t smbfs -ousername=Jonllen,passwd=xxx //home/windows
直接把 IP 地址作为参数
mount -t smbfs -ousername=Jonllen,passwd=xxxx,ip=xxx.xxx.xxx.xxx //home/windows
mount -t cifs //192.168.0.77/share/home/mnt -o username=jonllen,password=xxx,iocharset=utf8
4.创建一个允许读写的共享目录
vi /etc/samba/smb.conf
[修改配置文件]
[global]
workgroup = fortuneage
netbios name = Linux249
server string = Linux Samba Server
security = share
[home]
path = /opt/share
writeable = yes
browseable = yes
guest ok = yes
[global]这段是全局配置,是必段写的。workgroup就是Windows中显示的工作组;在这里我设置的是fortuneage;netbios name就是在Windows中显示出来的计算机名;server string就是Samba服务器说明,可以自己来定义;这个不是什么重要的;security 这是验证和登录方式,这里我们用了share;验证方式有好多种,这是其中一种;另外一种常用的是user的验证方式;如果用share呢,就是不用设置用户和密码了。
[home]这个在Windows中显示出来是共享的目录;path =可以设置要共享的目录放在哪里;writeable 是否可写,这里我设置为可写;browseable是否可以浏览,可以;可以浏览意味着,我们在工作组下能看到共享文件夹。如果您不想显示出来,那就设置为 browseable=no;guest ok匿名用户以guest身份是登录。
[建立相应目录并授权]
mkdir -p /opt/share
id nobody
chown -R nobody:nobody /opt/share
关于授权nobody,我们先用id命令查看了nobody用户的信息,发现他的用户组也是nobody,我们要以这个为准。有些系统nobody用户组并非是nobody。
Linux应用软件安装
1.rpm包
这种软件包就像windows的EXE安装文件一样,各种文件已经编译好,并打了包,哪个文件该放到哪个文件夹,都指定好了,安装非常方便,在图形界面里你只需要双击就能自动安装,在shell命令行下如下安装:
rpm -ioracle-xe-10.2.0.1-1.0.i386.rpm(--force --nodeps选项忽略所有依赖关系和文件问题)
[卸载方法]
因为Linux下的软件名都包括版本号,所以卸载前最好先确定这个软件的完整名称。查找RPM包软件:rpm -qaxxx*,注意:xxx指软件名称开头的几个字母,不要求写全,但别错,*就是通配符号“*”,即星号,如你想查找机子里安装的REALPLAYER软件,可以输入:rpm -qarealplay*。找到软件后,显示出来的是软件完整名称,如firefox-1.0.1-1.3.2,执行卸载命令:rpm -efirefox-1.0.1-1.3.2。查看安装目录:执行命令rpm -ql firefox-1.0.1-1.3.2。
2.tar.gz(bz或bz2等)结尾的源代码包,这种软件包里面都是源程序,没有编译过,需要编译后才能安装
用CD 命令进入源代码压缩包所在的目录,根据压缩包类型解压缩文件(*代表压缩包名称)
tar -zxvf ****.tar.gz
tar -jxvf ****.tar.bz(或bz2)
用CD命令进入解压缩后的目录,输入编译文件命令:./configure(有的压缩包已经编译过,这一步可以省去),然后是命令:make,再是安装文件命令:make install,安装完毕。
[卸载方法]
用CD 命令进入编译后的软件目录,即安装时的目录,执行反安装命令:makeuninstall,注意makeinstall命令过程中的安装目录,或者阅读安装目录里面的readme文件,当然最好的办法是在安装的过程中指定安装目录,即在./configure命令后面加参数--prefix=/**,如:./configure--prefix=/usr/local/aaaa,即把软件装在/usr/local/路径的aaaa这个目录里。一般的软件的默认安装目录在/usr/local或者/opt里,可以到那里去找找。
3.以bin结尾的安装包,这种包类似于RPM包,安装也比较简单
用CD 命令进入源代码压缩包所在的目录,给文件加上可执行属性:chmod +x***.bin(中间是字母x,小写),执行命令:./******.bin(realplayer for Linux就是这样的安装包)
[卸载方法]
把安装时中选择的安装目录删除就OK。
[安装完软件后如何执行]
有些软件安装后会自动在应用程序列表里加上快捷键,和windows一样,到那里找就行了;
如果在应用程序列表里找不到的话,可以直接在/开始/运行命令里输入命令:启动命令一般就是软件名,如firefox,realplay,xmms等;
也可以打开一个shell终端,输入软件名,和在“运行命令”里一样。如果不知道命令全程的话,可以输入开头的字母,然后按tab键查找,系统会自动显示以输入字母开头的所有命令/;
你也可以直接到安装目录下运行启动文件,Linux下的可执行图标和shell终端图标很像;
到/usr/bin目录里找安装的软件启动文件执行命令。Linux系统把所有可执行的文件命令在/usr/bin目录里都作了启动连接,你可以去那个目录寻找你安装的文件的启动命令,双击启动;
Linux后台服务
1.查看所有后台服务命令
service --status-all
启动服务:service smb start
停止服务:service smb stop
重新启动:service smb restart
2.注册后台服务
cp/usr/local/mysql5/share/mysql/mysql.server /etc/init.d/mysqld
chkconfig --add mysqld
chkconfig --level 2345 mysqld on
chown mysql:mysql -R /usr/local/mysql5/
service mysqld start
对比Windows注册后台服务的cmd命令
sc create mysql binPath= "C:\ProgramFiles\MySQL\MySQL Server 5.0\bin\mysqld-nt.exe" DisplayName= "MySql"depend= Tcpip start= auto
sc delete mysql
Xshell设置显示语言
export LANG=en_US
_Flash