常用Linux命令大全,助你轻松管理服务器! (linux管理常用命令)

Linux是一款常用的服务器操作系统,它具有高度的稳定性、安全性和可定制性。而在使用Linux的过程中,命令行操作是非常重要的一部分,它可以让我们快速高效地完成各种管理任务。本文将为您介绍一些常用的Linux命令,帮助您轻松管理服务器。

1. ls命令

ls命令是Linux操作系统中最常用的命令之一,它用于列出目录中的文件和子目录。在使用这个命令时,可以加上一些选项来显示更多的信息,例如-l选项可以列出文件的详细信息,-a选项可以列出所有文件(包括隐藏文件)。

例如:$ ls -l

2. pwd命令

pwd命令用于显示当前工作目录的绝对路径。在操作Linux时,需要确保自己在正确的目录下进行操作,这个命令可以帮助您快速定位自己所在的目录。

例如:$ pwd

3. cd命令

cd命令是Linux命令中最基本也是最重要的一个命令,它用于切换当前工作目录。使用这个命令时,需要输入一个目录名或者目录路径。

例如:$ cd /home/test

4. mkdir命令

mkdir命令用于创建新的目录。使用这个命令时,需要输入一个目录名作为参数。

例如:$ mkdir testdir

5. rmdir命令

rmdir命令用于删除空目录。使用这个命令时,需要输入一个目录名作为参数。

例如:$ rmdir testdir

6. cp命令

cp命令用于复制文件或目录。使用这个命令时,需要输入源文件或目录和目标文件或目录的名称。

例如:$ cp file1 newfile

7. mv命令

mv命令用于移动文件或目录。使用这个命令时,需要输入源文件或目录和目标文件或目录的名称。

例如:$ mv file1 /home/test/

8. touch命令

touch命令用于创建一个空文件,或者修改已存在文件的时间戳。使用这个命令时,需要输入文件名。

例如:$ touch newfile

9. rm命令

rm命令用于删除文件或目录。使用这个命令时,需要输入文件或目录的名称。在使用这个命令时需要特别小心,因为被删除的文件或目录将无法恢复。

例如:$ rm file1

10. grep命令

grep命令可以在文件中查找指定的内容,它可以快速找到文件中出现指定字符串的行。使用这个命令时,需要输入需要查找的字符串和要查找的文件名。

例如:$ grep “hello” test.txt

11. find命令

find命令可以在文件系统中查找文件和目录。使用这个命令时,需要输入搜索的起始目录和要查找的文件名。

例如:$ find / -name test.txt

12. ps命令

ps命令用于查看系统中的进程。使用这个命令时,可以加上一些选项来显示更多的信息。

例如:$ ps -ef

13. top命令

top命令用于实时查看系统的资源占用情况。使用这个命令时,可以查看CPU、内存、进程等信息。

例如:$ top

14. netstat命令

netstat命令可以显示系统的网络连接状态。使用这个命令时,可以查看系统的端口状态、当前连接状态等信息。

例如:$ netstat -an

15. ping命令

ping命令用于测试系统与其他网络设备之间的连通性。使用这个命令时,需要输入要测试的目标IP地址或域名。

例如:$ ping www.bdu.com

本文介绍了一些常用的Linux命令,这些命令可以帮助您轻松地进行系统管理和维护工作。当您在操作Linux时,可以通过这些命令来提高工作效率,也可以更好地管理您的服务器。希望这些命令能够对您在使用Linux时有所帮助。

相关问题拓展阅读:

linux,unix常用基本命令

1.常用指令

ls显示文件或目录

-l列出文件详细信息l(list)

-a列出当前目录下所有文件及目录,包括隐藏的a(all)

mkdir创建目录

-p创建目录,若无父目录,则创建p(parent)

cd 切换目录

touch创建空文件

echo创建带有内容的文件。

cat查看文件内容

cp  拷贝

mv 移动或重命名

rm 删除文件

-r递归删除,可删除子目录及文件

-f强制删除

find在文件系统中搜索某文件

wc  统计文本中行数、字数、字符数

grep在文本文件中查找某个字符串

rmdir删除空目录

tree树形结构显示目录,需要安装tree包

pwd显示当前目录

ln    创建链接文件

more、less  分页显示文本文件内容

head、tail    显示文件头、尾内容

ctrl+alt+F1  命令行全屏模式

2.系统管理命令

stat显示指定文件的详细信息,比ls更详细

who 显示在线登陆用户

whoami显示当前操作用户

hostname      显示主机名

uname显示系统信息

top  动态显示当前耗费资源最多进程信息

ps    显示瞬间进程状态 ps -aux

du      尺数查看目录大小 du -h /home带有单位显示目录信息

df    查看磁盘大小 df -h 带有单位显示磁盘信息

ifconfig查看网络情况

ping  测试网络连通

netstat显示网络状态信息

man  命令不会用了,找男人  如:man ls

clear清屏

alias 对命令重命名 如:alias showmeit=”ps -aux” ,另外解除使用unaliax showmeit

kill   杀死进程,可以先用ps 或 top命令查看进程的id,然后再用kill命令杀死进程。

3.打包压缩相关命令

tar:打包压缩

-c归档文件

-x压缩文件

-zgzip压缩文件

-jbzip2压缩文件

-v御历    显示压缩或解压缩过程 v(view)

-f使用档名

例:

tar -cvf /home/abc.tar /home/abc只打包,不压缩

tar -zcvf /home/abc.tar.gz /home/abc打包,并用gzip压缩

tar -jcvf /home/abc.tar.bz2 /home/abc      打包,并用bzip2压缩

当然,如果想解压缩,就直接替换上面的命令  tar -cvf  / tar -zcvf  / tar -jcvf 中的“c” 换成“x” 就可以了。

3.关机/重启机器

shutdown

-r关机重启

-h关机不重启

now立刻关机

halt 关机

reboot重启

4.Linux管道

将一个命令的标准输出作为另一个命令的标准输入。也就是把几个命令组合起来使用,后一个命令除以前一个命令的结果。

例:grep -r “close” /home/* | more在home目录下所有文件中查找,包括close的文件,并分页输出。

5.Linux软件包管理

dpkg (Debian Package)管理工具,软件包名以.deb后缀。这种方法适合系统不能联网的情况下。

比如安装tree命令的安装包,先将tree.deb传到Linux系陵拆首统中。再使用如下命令安装。

sudo dpkg -i tree_1.5.3-1_i386.deb安装软件

sudo dpkg -r tree卸载软件 

注:将tree.deb传到Linux系统中,有多种方式。VMwareTool,使用挂载方式;使用winSCP工具等;

APT(Advanced Packaging Tool)高级软件工具。这种方法适合系统能够连接互联网的情况。

依然以tree为例

sudo apt-get install tree安装tree

sudo apt-get remove tree卸载tree

sudo apt-get update     更新软件

sudo apt-get upgrade

6.将.rpm文件转为.deb文件

.rpm为RedHat使用的软件格式。在Ubuntu下不能直接使用,所以需要转换一下。

sudo alien abc.rpm

7.vim使用

vim三种模式:命令模式、插入模式、编辑模式。使用ESC或i或:来切换模式。

命令模式下:

:q退出

:q!强制退出

:wq     保存并退出

:set number     显示行号

:set nonumber  隐藏行号

/apache在文档中查找apache 按n跳到下一个,shift+n上一个

yyp     复制光标所在行,并粘贴

h(左移一个字符←)、j(下一行↓)、k(上一行↑)、l(右移一个字符→)

8.用户及用户组管理

/etc/passwd    存储用户账号

/etc/group存储组账号

/etc/shadow    存储用户账号的密码

/etc/gshadow  存储用户组账号的密码

useradd 用户名

userdel 用户名

adduser 用户名

groupadd 组名

groupdel 组名

passwd root     给root设置密码

/etc/profile     系统环境变量

bash_profile     用户环境变量

.bashrc用户环境变量

su user切换用户,加载配置文件.bashrc

su – user切换用户,加载配置文件/etc/profile ,加载bash_profile

更改文件的用户及用户组

sudo chown owner {File|Directory}

例如:还以jdk-7u21-linux-i586.tar.gz为例。属于用户hadoop,组hadoop

要想切换此文件所属的用户及组。可以使用命令。

sudo chown root:root jdk-7u21-linux-i586.tar.gz

扩展资料

Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

UNIX操作系统(尤尼斯),是一个强大的多用户、多任务操作系统,支持多种处理器架构,按照操作系统的分类,属于分时操作系统,最早由KenThompson、Dennis Ritchie和Douglas McIlroy于1969年在AT&T的贝尔实验室开发。目前它的商标权由国际开放标准组织所拥有,只有符合单一UNIX规范的UNIX系统才能使用UNIX这个名称,否则只能称为类UNIX(UNIX-like)。

1. tar

压缩文件夹

tar zcvf archive_name.tar   dirname/1

解压文件夹

tar xvf archive_name.tar1

grep

在文件中查找字符串 不区分大小写

grep -i “the” demo_file1

输出成功匹配的行,以及该行之后或春的三行

grep -A 3 -i “example” demo_text1

在一个文件夹中递归查询包含指定字符串的文件

grep -r  “ramesh”  *1

find

查找指定悉团山睁中文件名的文件(不区分大小写)

find -iname  “MyProgram.c”1

查找home目录下的所有空文件

find ~ -empty1

ssh

登录到远程主机

ssh  

sed

sed全名叫stream editor,流编辑器,用程序的方式来编辑文本。 

SED 简明教程

awk

AWK 简明教程

vim

LIinux中自带的文本编辑器。

下面列出了Linux最常用的一些命令,及其功能:

1、cd命令

这是一个非常世颤基本,也是大家经常需要使用的命令,它用于切换当前目录,它的参数是要切换到的目录的路径,可以是绝对路径,也可以是相对路径。

2、ls命令

这是一个非常有用的查看文件与目录的命令。

3、grep命令

该命令常用于分析一行的信息,若当中有我们所需要的信息,就将该行显示出来,该命令通常与管道命令一起使用,用于对一些命令的输出进行筛选加工等等。

4、find命令

find是一个基于查找的功能非常强大的命令,相对而言,它的使用也相对较为复杂,参数也比较多。

5、cp命令

该命令用于复制文件,copy之意,它还可以把多个文件一次性地复制到一个目录下。

6、mv命令

该命令用于移动文件、目录或更名,move之意。

7、rm命令

该命令用于删除文件或目录,remove之意。

8、ps命令

该命令用于将某个时间点的进程运行情况选取下来并输出,process之意。

9、kill命令

该命令用于向某个工作(%jobnumber)或者是某个PID(数字)传送一个信号,它通常与ps和jobs命令一起使用。

10、tar命令

该命令用于对文件进行打包,默认情况并不会压缩,如果指定了相应的参数,它还会调用相应的压缩程序(如gzip和bzip等)进行压缩和解压。

11、cat命令

该命令用于查看文本文件的内容,后接要查看的蚂氏文件名,通常可用管道与more和less一起使用,从而可以一页页地查看数据。

12、闷返散chmod命令

该命令用于改变文件的权限。

13、vim命令

该命令主要用于文本编辑,它接一个或多个文件名作为参数,如果文件存在就打开,如果文件不存在就以该文件名创建一个文件。vim是一个非常好用的文本编辑器,它里面有很多非常好用的命令。

Y:linux常用命令

●文件操作命令

★cd /home: 进入 ‘/ home’ 目录’;

★cd ..:返回上一级目录;

★cd ../.. :返回上两级樱御键目录;

★cd :进入个人的主目录;

★pwd: 显示当前工作路径;

★切换用户:su – root;

★显示文件列表:ll;竖向显示,显示文件属性。

★显示文件列表:ls;横向显示,只拆茄显示文件名。

★显示隐藏文件夹:ll –a 或 ls –a ;

●创建目录

★mkdir dir1 创建一个叫做 ‘dir1’ 的目录;

★mkdir dir1 dir2 同时创建两个目录;

★mkdir -p /tmp/dir1/dir2 创建一个目录树;

●删除文件

★rm -rf dir1 :删除一个叫做 ‘dir1’ 的目录并同时删除其内容

★rm -rf dir1 dir2 :同时删除两个目录及它们的内容

●权限命令

★修改文件读写执行权限命令:chmod;

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

☆将脚本build_h3c.sh设为所有人可执行:chmod a+x build_h3c.sh

●查看进程、杀死进程、启动进程

★查看进程

☆最常用的命令式ps aux,然后在通过管道使用grep命令过滤查找特定进程,然后在进行操作。

ps aux|grep 进程名;

ps –ef|grep 进程名;

☆ps:查找与进程相关的PID号;

☆ps a:显示现行终端机下的所有程序,包括其他用户的程序;

☆ps –A:显示所有进程;

★杀死进程

☆使用kill命令杀死进程:kill 进程标识号;

☆常用:kill -9

☆案例:kill;

●执行.sh文件

★方法一:在任何路径脊巧,使用全路径,即能执行文件。

☆案例:/home/ykf8434/open.sh;

★执行.sh文件:进入文件所在文件夹,./文件名;

☆案例:./open.sh;

●压缩和解压

★tar -cvfz archive.tar.gz dir1 创建一个gzip格式的压缩包;

★tar -cvfj archive.tar.bz2 dir1 创建一个bzip2格式的压缩包;

★tar -xvf archive.tar 解压一个压缩包;

★tar -xvf archive.tar -C /tmp将压缩包释放到/tmp目录下;

★tar -jxvf archive.tar.bz2 解压一个bzip2格式的压缩包;

★tar -zxvf archive.tar.gz 解压一个gzip格式的压缩包;

●防火墙命令

★查看防火墙状态:service firewalld status;

★关闭防火墙:service firewalld stop;

登录时(当看到login:时)你必须是在系统安装时创建的用户或root超级用户.(在FreeBSD系统安装时就已经创建了root用户了 ,root用户遍历到系统的任何一个目录并且可以做任何事情,包括删除系统文件,所以一定要千万小心!)符号%和符号# 代表提示符(你的可能不一样),%表示普通用户,#表示超级用户root要退出系统(并且回到login:提示符),打命令:

# exit

对,打完命令后按回车,记住UNIX对命令是区分大小写的--也就是说,是exit,而不是EXIT.

要关闭机器,打命令顷闭:

# /in/shutdown -h now

要重启机器,打命令:

# /in/shutdown -r now

或者

# /in/reboot

你也可以按Ctrl-Alt-Delete来重启机器.

花少许时间练习一下.在最近发行的FreeBSD版本中这和/in/reboot是相等的,而且这比按reset按钮要好多了.你也不想重装东西,难道不是吗?

2.用Root权限添加用户

当你之一次运行adduser时,它也许会创建一些缺省设置.在它建议你把sh作为缺省shell的时候,你可能想把csh作为缺省shell 而不是sh.否则直接按回车接受困乎租默认值.这些默认设置保存在/etc/adduser.conf中,一个可编辑文件.

# adduser

假如你创建了一个新用户jack全名为Jack Benimble.出于安全因素,给jack一个口令(即使周围的孩子也可能敲击键盘).当它问你是否想jack成为某个组的成员时,回答w heel

Login group is “jack”. Invite jack into other groups: wheel

这样就可以用户jack登录系统,再用su命令成为root超级用户.然后你就再也汪兆不会因为以root超级用户登录而受到责备了.

你可以在adduser中,通过按Ctrl-C退出随时退出.在创建结束时你可以批准该用户的生成或打n来取消创建该用户.你也许想创建第二个用户(jill?)这样当你编辑jack的登录文件时,就有一个热备份以免出错.一旦创建完用户,exit用exit回到login:提示符以jack登录.通常情况下,更好不要用root用户而是用普通用户完成大部分的工作.如果你已经创建了一个用户而且想使该用户能够用su命令成为root用户,你可以root登录然后编辑文件/etc/group,把jack加入之一行(wheel组),但是你首先要练习使用vi,文本编辑器--或简单些的编辑器,安装在最近发行的FreeBSD中的ee.

要删除一个用户使用rmuser命令.

修改密码 passwd命令,这个命令和linux上修改用户密码的命令是一样。输入passwd命令以后,会提示输入oldpassword,再输入新密码,确认新密码!丢人

3. 环顾四周

以普通用户登录,四处浏览一下再使用一些命令试着访问帮助资源和FreeBSD的别的信息.以下是一些命令和它们的功能:

id 告诉你你是谁!

pwd 显示你在哪个目录--当前工作目录.

ls 显示当前目录的文件.

ls -F 显示当前目录的文件.执行文件的文件名后加*,目录名后加/,符号链接后加@.

ls -l 以长格式显示文件.

ls -a 列出隐藏点文件和其它文件.如果你是root用户,无须加-a选项,点文件将自动显示.

cd 改变目录.

cd .. 回到上级目录;注意cd后的空格.

cd /usr/local 到/usr/local目录下.

cd ~ 到以登录用户的主目录–例如/usr/home/jack.

试试cd /cdrom,然后ls, 看看你的CDROM是否mounted并且正常工作.

view filename

让你看一个文件(文件名为filename 不改变文件名).试试

view /etc/fstab.

:q :q退出.

cat filename

在屏幕上显示filename.如果文件太长你只能看到文件的最末部分,按ScrollLock 然后用上下键往回移;ScrollLock键在看手册的时候也用的上.再按一下ScrollLock将退出屏幕滚动.你可以试一下cat你主目录的点文件cat .cshrc , cat .login , cat .profile.

你也许注意到了.cshrc文件中有关ls命令的别名(它们用起来很方便).你可以编辑.cshrc文件来创建一些别的别名.为了使系统的所有用户都能使用这些别名,把它们放到csh的系统配置文件/etc/csh.cshrc中.

4. 获得帮助信息

这里有一些关于帮助的有用的资源.text表示你从键盘打入的东西--通常是一条命令或文件名.

apropos text 在whatis数据库中所有包含text的有关信息.

man text

text的手册.是Un*x系统文档的主要来源.man ls会告诉你使用ls命令的所有方法.按回车键在文本中移动,Ctrl-b往前翻一页,Ctrl-f往后翻一页,q或Ctrl-c退出.

which text 告诉你text命令所在的路径.

locate text 所有找到text字符串的路径.

whatis text

告诉你text命令主要用来干什么和它的手册页.打入whatis *将告诉你当前目录中的所有命令的有关信息.

whereis text 寻找text文件,并给出它的完全路径.

你可能想对一些常用命令如cat, more,grep,mv,find,tar,chmod,chown,date,和script使用whatis命令.more命令可以让你以DOS的方式一次只阅读一页内容. 例如: ls -l | more 或 more filename.符号*代表通配符--例如:ls w*将显示所有以w开头的文件名.

这些命令是不是并不太有效?locate和whatis命令都取决于每星期重建一次的数据库.如果你不准备让你的机器在周末也运行的话(运行FreeBSD),你也许希望不时地每天、每星期、每月运行这些命令?现在,以root身份运行这些命令然后在运行下条命令之前指定一个结束时间.

# /etc/daily 输出省略

# /etc/weekly 输出省略

# /etc/monthly 输出省略

如果你等的不耐烦了,按Alt-F2到另一个虚拟控制台上并登录进去.实际上FreeBSD是一个多用户、多任务系统.不过这些命令在运行时出现的信息大概会在你的屏幕上显示一下;你可以打clear命令清除屏幕.一旦它们开始运行了,你可以看看/var/mai l/root和/var/log/messages着两个目录.

你是你自己系统的管理员,作为一个系统管理员或Unix系统的单用户,运行这些命令是最基本的.实质上,所有你须要已root身份做的事情就是系统管理.这种职责在那些又大又厚的Unix书里并没有得到很好的概括,这些书籍似乎花了很大空间用来说明w indows管理器的下拉菜单.系统管理方面的书你应该看看以下两本,

红封面的Evi Nemeth et.al.’s UNIX System Administration Handbook(Prentice-Hall, 1995, ISBN)--the second edition,另外一本为aleen Frisch’s Essential System Administration (O’Reilly & Associates, 1993,ISBN).我使用的是Nemeth的书.

5. 文本编辑

配置系统的时候,一般都要编辑文本文件.大多数要编辑的都在/etc目录下,你需要使用su成为root才能更改这些文件.你可以使用方便的ee命令,但是长远考虑,vi值得学习./src/contrib/nvi/docs/tutorial目录下有一个出色的教程,如果你安装了的话;否则你可以从 ftp.cdrom.com 的 FreeBSD/FreeBSD-current/src/contrib/nvi/docs/tutorial目录下ftp过来.

在编辑文件之前,你应该先做个备份.假设你要编辑文件/etc/rc.conf.你只要用cd/etc到达/etc目录然后打命令:

# cp rc.conf rc.conf.orig

这样就把rc.conf拷贝为rc.conf.orig,稍后你可以把rc.conf.orig拷贝回rc.conf来覆盖源文件.但更好是先移动(重命名)然后拷贝回去:

# mv rc.conf rc.conf.orig

# cp rc.conf.orig rc.conf

因为mv命令保留了文件的原先日期和拥有者.你现在可以编辑rc.conf了.如果你要源备份,你只要mv rc.conf rc.conf.myedit

(假设你要保留你的编辑版本)然后用

# mv rc.conf.orig rc.conf

来恢复成以前的样子.

要编辑文件,打命令

# vi filename

用方向键在文本中来回移动.Esc(escape键)使vi进入命令模式.这儿有些命令:

x 删除光标所在处的字符

dd 删除整个一行(即使在屏幕上是折行)

i 在光标所在处插入文本

a 在光标所在处之后插入文本

一旦你打了i或a,你就可以键入文本了.Esc使你进入命令模式,然后你可以打:

:w 存盘然后继续编辑

:wq 存盘并退出

:q! 放弃存盘并退出

/text 移动光标到text处;/Enter (回车键)用来寻找下一个text

G 移动到文件最末

nG 到文件的第n行,n代表一个数字

Ctrl-L 刷新屏幕

Ctrl-b and Ctrl-f 朝前或朝后翻一屏,就象more和view一样

在你的主目录下用vi filename创建一个文件来练习一下如何添加、删除文本,保存文件,然后继续编辑.vi会带来一些惊奇,因为它的确相当复杂,有时候你会不经意的发出一条命令取得一些意想不到的效果.(一些人竟然会喜欢vi--vi比DOS EDIT强多了--去查查:r命令.)当你遇到麻烦时,多按几下Esc键以确保你在命令模式然后从那里继续下去,经常用:w存盘,还有在需要的时候用:q!退出重来一次.

现在你可以cd到/etc目录下,su成为root,用vi编辑文件/etc/group,加一个用户到wheel组这样这个用户就有享有root特权了. 在文件的之一行的末尾加一个逗号和用户名,按Esc,然后用:wq存盘退出.立即生效.

6. 在DOS下打印文件

在这一点上,你也许没有打印机,有个办法可以先从手册页建一个文件然后再把这个文件移到软盘,然后在DOS下打印.假设你想仔细阅读一下有关文件权限的文档(非常重要).你可以打命令man chmod.命令:

# man chmod | col -b > chmod.txt

会删掉格式代码然后把手册页发送到chmod.txt文件,而不是显示在屏幕上.现在你可以插入一张dos格式化好的软盘,su成为ro ot,然后输入命令:

# /in/mount -t msdos /dev/fd0 /mnt

这样就把软盘mount到了/etc目录下了.

现在(你没必要再用root了,输入exit回到刚才的用户jack)可以到刚才创建chmod.txt的那个目录然后把文件拷贝到软盘:

% cp chmod.txt /mnt

再用ls /mnt查看一下/mnt目录下的文件列表,应该能显示chmod.txt. 也许你很想将/in/dmesg输出到一个文件,可以输入命令:

% /in/dmesg > dmesg.txt

然后拷贝dmesg.txt到软盘./in/dmesg是系统的启动日志,更好能了解它的内容,因为它能告诉你系统在启动的时候都找到了什么硬件.如果你想向 或一个USENET组--象FreeBSD找不到我的磁带机,我该怎么办?--回答问题的人总是想先知道dmesg的内容.

现在你可以将软驱从FreeBSD卸掉(用root)并取出软盘:

# /in/umount /mnt

然后重启机器到DOS.把这些文件copy到一个DOS目录,用诸如DOS EDIT,Windows Notepad或Wordpad,或一个字处理器打开上述文件,做一些小小的改动,然后存盘,再象平常一样在DOS或Windows下打印出来.希望一切顺利!用dos的print命令打印手册文档效果更好.(把文件从FreeBSD拷贝到mount好的dos风区要冒一些风险.)

要从FreeBSD下打印首先要牵涉到在/etc/printcap目录下创建合适的条目和在/var/spool/output目录下创建相应的脱机目录 .如果你的打印机在lpt0上(即dos下的LPT1),你只须到/var/spool/output目录然后用mkdir lpd命令(用root)建一个lpd目录(如果该目录原先不存在的话).接着当系统启动的时候如果打印机电源接通的话,打印机会有反应,并且lp或lpr命令应该能够向打印机发送一个文件.无论文件是否打印取决于它的配置,在FreeBSD手册里有详细介绍.

7. 其他一些常用命令

df 显示磁盘空间和安装了的文件系统.

ps aux 显示正在运行的进程.ps ax是窄格式.

rm filename 删除filename.

rm -R dir 删除一个目录,包括所有子目录--小心!

ls -R

显示当前目录和所有其子目录的文件;我用的不大一样,用ls -AFR > where.txt,可以在我找到更好的查找文件的方法之前得到/目录和(分别的)/usr目录下所有文件的列表.

passwd 修改一个用户(或root)的口令

man hierUnix 文件系统上的手册

在/usr或任何别的目录下使用find命令来查找文件:

% find /usr -name filename

你可以用在filename里使用*通配符(应该加在引号里). 如果你告诉find到/目录而不是/usr目录下查找文件,它会到所有安装好的文件系统包括CDROM和dos分区中去查找文件.

关于Unix命令和使用工具,一本比较好的书是Abrahams & Larson, Unix for the Impatient (2nd ed., Addison-Wesley, 1996).在Internet上也有很多Unix信息.看看Unix Reference Desk.

8. 下一步

现在你有了编辑工具并且知道如何遍历系统,因此你可以运行任何你想要的东西.在FreeBSD的站点上和FreeBSD手册上(很可能在你的硬盘上)都可以找到大量的相关信息.同时在Walnut Creek CDROM和它的站点上也可以找到大量的应用程序包.使用手册已经告诉你如何添加这些程序包(添加程序包的时候该包必须存在 ,然后用pkg_add/cdrom/packages/All/packagename,packagename表示包的文件名).在下列目录及文件中可以找到光盘上有关每个程序包简要说明的一张列表:cdrom/packages/index,cdrom/packages/index.txt,和cdrom/ports/index.更详细的说明可以在/cdrom/ports/*/*/pkg/DESCR文件里找到,前后两个*分别代表程序所属的类别和程序名.

如果你不能理解手册上所说的关于如何从cdrom上安装程序包的话,下列步骤通常可以行的通:

找一个你要的包,比如kermit.存放在光盘上的某个目录.用下列命令把该子目录拷贝到/usr/local目录下(供所有用户使用的软件更好都放在这):

# cp -R /cdrom/ports/comm/kermit /usr/local

这样/usr/local/kermit子目录就包含了是光盘上kermit子目录下的所有文件.下一步,如果/usr/ports/distfiles不存在的话就用mkdir把这个目录建起来.现在到/cdrom/ports/distfiles文件里查找一下你所要的程序包的名字.然后包相关的安装文件拷贝到/usr/ports/distfiles目录下;在最近的新版本中你可以跳过这一步,FreeBSD会自动完成这一步.对kermit来说,没有d istfile.然后cd到包含Makefile的/usr/local/kermit子目录下,打命令:

# make all install

在这一过程中,如果系统在/usr/ports/distfiles目录中找不到相关的压缩文件的话,它就会ftp去下载该文件.如果你没有联网并且该文件不在上述目录下的话,你得用另外一台机器来获得该文件,然后再把它从软盘或dos分区拷贝到/usr/ports/distf iles下.阅读一下Makefile(用cat或more命令)看看应该到哪里(master distribution site)下载、文件名是什么.下载到了dos下后文件名会缩短,你把它放到/usr/ports/distfiles下后得把文件名改为原来的(用 mv命令),这样在安装的时候,系统就能找到这个文件了.(用二进制模式下载!)然后回到/usr/local/kermit目录,到有Makefil e的目录,打make all install.

安装程序包的时候可能碰到的另外一件事就是需要事先安装一些别的应用程序.如果安装过程停下来说找不到unzip或别的什么的话,你就必须先安装unzip的程序包然后才能继续.

一旦安装完毕,打rehash命令让FreeBSD重新读一下该路径下的文件,这样它就知道目录下都有些什么.(如果当你用whereis或w hich命令时出现很多路径找不到的信息的话,你得在你的主目录下的.cshrc文件中path描述后添加一部分.出于安全考虑,Unix中的path除了当前目录不在path中(默认),别的和DOS下的path都是一样的,要运行不在path中的当前目录的命令,要在命令前打./才能使命令执行,斜杠后不能有空格.)

也许你想从Netscape的ftp站点上得到最新版的Netscape.(Netscape必须运行在X Windows系统上.)现在有FreeBSD版本了,仔细找找.只要运行 gunzip filename和tar xvf filename,把执行文件移到/usr/local/bin或其它一些存放执行文件的地方,rehash,然后把下列行加到每个用户主目录下的.c shrc文件中或者(更简单)干脆到系统启动配置文件/etc/csh.cshrc中:

setenv XKEYSYMDB /usr/X11R6/lib/X11/XKeysymDB

setenv XNLSPATH /usr/X11R6/lib/X11/nls

前提是假设文件XkeysymDB和目录nls在目录/usr/X11R6/lib/X11下;如果不在的话,查找一下然后放到上述目录下.

如果你以前就已经用CDROM(或ftp)安装了Netscape,不要把用新的Netscape执行文件覆盖/usr/local/bin/netscape,老的文件只是一个设置环境变量的shell脚本.相反,把新的执行文件更名为netscape.bin,然后覆盖老的执行文件/usr/local/lib/nets cape/netscape.bin.

9. 你的工作环境

你的shell是你的工作环境中最重要的部分.在DOS下,shell通常为command.com.对你所打入的命令进行解释的程序就是shell, 这样来与操作系统通信.你也可以写你自己的shell脚本,就象DOS批处理文件:一组在运行时不需要你的干涉的命令.

FreeBSD装好后有2个shell:csh和sh.Csh比较适合命令行处理,而脚本应该用sh(或bash)来写.可以打命令echo $SHELL来查看你用的是什么shell.

Csh shell是不错的,但是tcsh能做的要比csh能做的要多.它允许你用方向键调用历史命令而且还能对历史命令进行编辑.tcsh还允许你用tab键补齐文件名(csh用esc键),用 cd -命令可以切换到上一次你所在的目录.除此而外,用tcsh切换你的提示符也极其方便.Tcsh是你感到更轻松.

安装一个新的shell分以下3步:

I. 把shell作为一个程序包安装,就象安装别的程序包一样.用rehash和which tcsh(假设你正在安装tcsh)来确保安装正确.

II. 成为root,编辑/etc/shells,为新的shell添加一行,就本例而言,应该为/usr/local/bin/tcsh, 存盘.(有的程序包也许会自动完成.)

III. 用chsh命令把你的shell永久的改为tcsh,或者在提示符下打tcsh更改你的shell,不用重新登录.

注意:对于FreeBSD较早的版本和大部分的Unix,把root的shell改为除sh或csh之外别的什么shell可能回带来危险;因为当系统进入单用户模式后,你的shell可能运行不起来.解决办法是用su -m成为root,这样tcsh就成为你作为root时候的shell了,因为shell是环境的一部分.把下面的别名加到你的.tcshrc文件中后上述情况就一直如此了:

alias su su -m.

当tcsh启动时,它会和csh一样样去读取/etc/csh.cshrc和/etc/csh.login.还会读取你主目录中的.login和.cshrc文件,除非你的目录中有.tcshrc文件.你可以干脆把.cshrc拷贝到.tcshrc.

这样你就把tcsh安装好了,可以修改提示符了.你可以查看手册中有关tcsh的细节.把下面这行放到你的.tcshrc中后,你就可以知道你打了多少命令、现在几点钟和当前所在目录.如果你是普通用户,还有一个>;如果你是root,就是#.Tcsh在任何情况下都能做到:

set prompt = %h %t %~ %#

求助:LINUX常用SHELL命令

LINUX常用命令

1 文件与目录操作命令

1.1文件内容查询命令

grep、fgrep、egrep

CODE:语法:grep

选项:

QUOTE:

-E 每个模式作为一个扩展的正则表达式对待

-F 每个模式作为一组固定字符串对待,而不作为正则表达式

-i 比较时不区分大小写

-l 显示首次匹配匹配串所在的文件名并用换行符将其分开。当在文件中多次出现匹配串时,不重复显示次文件名;

-x 只显示整行严格匹配的行

1.2文件查找命令 find、locate

语法:

CODE:find 起始目录 寻找条件 操作

以名称和文件属性查找

QUOTE:

-name‘字串‘ 查找文件名匹配所给字串的所有文件,字串内可用通配符*、?、。

-lname‘字串‘ 查找文件名匹配所给字串的所有符号链接文件,字串内可用通配符*、?、。

-gid n 查找属于ID号为n的用户组的所有文件。

-uid n 查找属于ID号为n的用户的所有文件。

-group‘字串‘ 查找属于用户组名为所给字串的所有的文件。

-user‘字串‘ 查找属于用户名为所给字串的所有的文件。

-path‘字串‘ 查找路径名匹配所给字串的所有文件,字串内可用通配符*、?、。

-perm 权限 查找具有指定权限的文件和目录,权限的表示可以如711、644。

-type x 查找类型为 x的文件,

语法:locate 相关字

1.3文件的复制、删缓并除和移动命令

文件复制命令

CODE:cp 源文件或目录 目标文件或目录

选项:

QUOTE:

– a 通常在拷贝目录时使用

-d 拷贝时保留连接

-f 删除已经存在的目标文件而不提示

-i 和f选项相反

-p 此时cp除复制源文件内容外,还将其修改的时间和访问权限也复制到新文件中

-r 若给出的源文件是一目录文件,此时cp将递归复制该目录下的所有的子目录和文件,此时目标文件必须为一个目录名;

-l 不作拷贝,只是链接文件

文件移动命令

CODE:mv 源文件或目录 目标文件或目录

QUOTE:

-i 交互式操作

-f 禁止交互式操作

文件删除命令

CODE:rm 文件…

QUOTE:

-f 忽略不存在的文件,从不给出提示

-r 指示rm将参数中列出的全部目录和子目录均递归地删除

-i 进行交互式删除

1.4文件链接命令

CODE:ln 目标 或 ln 目标 目录

QUOTE:

选项:

– s 建立符号链接

1.5目录的创建和删除命令谨哪凳

mkdir 创建一个目录

语法:

CODE:mkdir dirname

选项:

– m 对新建目录设置存取权限

-p 可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录。

rmdir 删除空目录

语法:

CODE:rmdir dirname

QUOTE:

选项:

– p 递归删除目录dirname,当子目录删除后其父目录为空时,也一同被删除。

1.6改变工作目录,显示目录内容命令

1、改变工作目录:

CODE:cd

2、显示当前工作的目录的绝对路径:

CODE:pwd

3、显示目录内容:

CODE:ls

QUOTE:

选项:

– a 显示指定目录下所有子目录与文件,包括隐藏文件;

-c 按照文件的修改时间排序

-C 分成多列显示各项

-d 如果参数是目录,只显示其名称而不显示其下的个文件

-F 在目录名后面标记“/”,可执行文件后面标记“*”,符号链接后面标记“@”,管道(或FIFO)后面标记“|”,socket文件后面标记“=”。

-l 以长格式来显示文件的详细信息

-L 若指定的名称为一个符号链接,则显示链接所指向的文件

-t 显示时按修改时间而不是名字排序

-u 显示时按文件上次存取的时间而不是名字排序

4、改变文件或目录的访问权限命令

CODE:chmod 文件名?

QUOTE:

Who选项:

– u表示用户,即文件和目录的所有者

-g表示同组用户

-o(other)表示其他用户

-a (all)表示所有用户

QUOTE:

操作符号:

+ 添加某个权限 – 取消某个权限

= 赋予给定权限并取消其他所有的权限(如果有的话)

QUOTE:

mode 选项:

– r 可读

-w 可写

-x 可执行

CODE:chgrp group filename? 改变目录或文件所属的组

CODE:chown 用户或组 文件

1.7备份与压缩命令

1、tar命令 为文件和目录创建档案

语法:

CODE:tar 文件或者目录

QUOTE:

u 主选项

c 创建新的档案文件。如果用户想备份一个目录或是一些文件,则选此项

r 把要存档的文件追加到档案文件的末尾

t 列出档案文件的内容,查看已经备份了哪些文件;

u 更新文件

x 从档案文件中释放文件;

u 辅助选项

b 该选项为磁带机设定的,其后跟一位数字,用来说明区块的大小,系统预设值为20

f 使用档案文件或设备,这个选项通常是必选的

k 保存已经存在的文件。例如把某个文件还原,在还原的过程中,遇到相同的文件,不会进行覆盖;

m 在还原文件时,把所有文件的修改时间设定为现在;

M 创建多卷的档案文件,以便在几个磁盘中存放;

v 详细报告tar处理的文件信息

w 每一步都要求确认

z 用gzip来压缩/解压缩文件

2、gzip命令 压缩/解压缩命令

语法:

CODE:gzip 压缩(解压缩)的文件名

QUOTE:

选项:

-c 将输出写到标准输出上,并保留原有文件

-d 将压缩文件解压

-l 显示每个压缩文件的详细信息

-r 递归式地查找指定目录并压缩其中的所有文件或者是解压缩

-t 测试、检查压缩文件是否完整

-v 对每一个压缩和解压的文件,显示文件名和压缩比

3、unzip 命令

用MS windows下的压缩软件winzip压缩的文件在linux系统下展开

语法:

CODE:unzip 压缩文件名.zip

QUOTE:

选项:

-x 文件列表 解压缩文件,但不包括指定的file文件

-v 查看压缩文件目录,但不解压

-t 测试文件有无损坏 ,但不解压

-d 目录 将压缩文件解到指定目录下

-z 只显示压缩文件的注解

-n 不覆盖已经存在的文件

-o 覆盖已经存在的文件且不要求用户确认

-j 不重建文档的目录结构,把所有文件解压到同一目录下

1.8在LINUX环境下运行DOS命令

linux系统提供了一组称为mtools的可移植工具,可以让用户轻松地从标准的DOS软盘上读写文件和目录。

QUOTE:

mcd 目录名 改变MSDOS目录

mcopy 源文件 目标文件 在MSDOS和UNIX之间复制文件;

mdel 目录名 删除MSDOS目录

mdir 目录名 显示MSDOS目录

mformat 驱动器号 在低级格式化的软盘上创建MSDOS文件系统

rnlabel 驱动器号 产生MSDOS卷标

mmd 目录名 删除MSDOS目录

mren 源文件 目标文件 重新命名已存在的MSDOS文件

mtype 文件名 显示MSDOS文件的内容

2 设备管理命令

1)linux采用下面的形式定义一个IDE硬盘:

CODE:/dev/hd

2)SCSI硬盘使用同样的机制表示:

CODE:/dev/sd

3)对于一般的LINUX分区,可以用mkfs将其格式化并生成文件系统,命令如下:

CODE:mk2fs –c ; ;

4)装载文件系统:

CODE:mount –t ext2 partition mountpiont

其中,

QUOTE:

-t为指定装载文件系统的类型;

-o指定一些选项,如只读ro,可读可写rw等等;

partition定义分区名称;

mountpiont定义文件系统被装载的目录名称。

5)装载CD-ROM文件系统:

CODE:mount –t iso9660 –r /dev/cdrom /mnt/cdrom

6)装载软驱文件系统:

CODE:mount –t msdos –rw /dev/fd0 /dev/mnt/floppy

7)卸载文件系统

CODE:umount /mnt/cdrom

磁带设备的安装要注意以下几点:

QUOTE:

1、 首先要选择一个唯一的SCSI ID号,然后再将设备链接到适当的位置

2、 选择驱动程序。

3、 生成设备文件。SCSI磁带设备的主要设备号是9,次要设备号是0。设备文件名通常是/dev/nrst0(不支持回绕的磁带设备)或/dev/nst0(支持回绕的磁带设备)

用 ls /dev/*rst*

检查磁带设备文件是否存在,如果不存在,用

mknod –m 666 /dev/nrst0 c 9 9

mknod –m 666 /dev/rst0 c 9 0 生成

4、 可以对块长度、缓存、磁带密度等参数进行一些设置,例如

mt setblk 20 将块长度指定为20

mt setblk 0 指定块程度没有限制

5、 通过检查系统的启动信息可以确定系统是否识别了新的磁带设备。用dmesg命令,查看是否有以下类似的信息:

aha274x:target 4now synchronous at 4.4Mb/s

Vendor:TANDBERG Model:TDC 3800 Rev: =05:

Type: Sequential-Access ANSI SCSI revision: 02

Detected scsi tape st0 at scsi0, id4, lun0

Scsi : detected 1 SCSI tape 1 SCSI crom 1 SCSI disk total

3 软件包管理命令

3.1软件安装的步骤

在LINUX系统上安装软件的步骤有:

QUOTE:

1、 查找所要安装软件的源文件

2、 把源文件解开放到一个目录中,命令如下:

tar zxvf ;

3、 针对本操作系统配置源文件。可以是编辑make文件或其他文件,也可能是运行该软件自带的自动配置工具,如./configure

4、 make源文件,通常是运行make命令,即执行 make

5、 安装二进制文件和其他支撑文件,运行命令: make install

6、 最后,完成所有其他必须的配置

3.2软件包管理命令

QUOTE:

rpm –ivh ;

// 安装指定的软件包,并在安装过程中用#表示安装的进度

rpm –Uvh ;

// 更新一个已经存在的或还没安装好的软件包,并删除所有该软件包的旧版本。

rpm –e

//卸载一个rpm软件包

rpm –qa

// 查看系统中已经安装的软件包

rpm –q ;

// 查看系统中某个软件包的版本号;

rpm –qlp ;

//列出某个软件包中的所有文件

rpm –qf ;

//找出一个文件属于哪个软件包

4 LINUX系统常用命令

4.1 与系统管理有关的命令

Wall (Write All)

QUOTE:

对全部已 登录的用户发送信息,用户可以先反要发送的信息写好存入一个文件中,然后输入:

# wall ;:指定作为初始化进程的文件。

initrd=;:指定作为初始内存磁盘的设备。

ro:指定根文件系统为只读。

rw:指定根文件系统为可读可写。

2 Init进程

在内核初始化自身和找到的硬件设备后,在后台启动进程init(/in/init),init进程号1运行。

在UNIX世界中有许多启动过程的版本,一些是基于系统V,一些是基于BSD。大多数Linux版本使用系统V的实现方法,在这里描述的就是这样。

init是由文件/etc/inittab内容和功能控制的,随启动模式是单用户或多用户而不同。

QUOTE:

单用户模式:init进程忽略/etc/inittab文件,在执行少数几个脚本程序后调用/dev/console shell。这样,用户就可以有了一个shell,而且可以执行一定限度的任务。

多用户模式:init进程把系统带入/etc/inittab文件指定的运行级别。Init通过标准的Linux方法进入一个指定的进行级别。

3.进行级别

Linux与其他UNIX操作系统一样,可以任何时刻处于任何一个运行级别。这些运行级别提供的功能不同,为主要是由于其运行的服务方程序(后台daemon)的不同造成的。Linux共有6种运行级别。

QUOTE:

0:关闭计算机或终止计算机运行,这个级别就是系统停止运行。

1:单用户启动级别,系统只有一个用户,就是root,该用户在控制台登录。

2:多用户运行级别,但无网络功能。在这个运行级别,网络功能没有启动,但是系统允许多个用户登录,可以通过虚拟控制台或串行线路。

3:多用户模式,有网络功能。在这个运行级别,所有标准网络服务均被启动。

4:目前没有实现。

5:X11运行级别,在这个运行级别,X服务器软件运行,提供图形界面的登录方式。

6:系统重新启动。

查询当前运行级别:runlevel;

4在启动过程中运行的脚本

在init进程运行时,它负责查看缺省的运行级别,并进入该运行级别。这是通过运行在/etc/rc.d/rcX.d目录下的脚本程序来实现的,其中X代表运行的级别,即一个运行级别对应一个目录。不同的字母开头的文件有不同的作用。其中:

以K开头的脚本程序是系统离开某个运行级别时执行的,作用是停止某种服务。当系统从某个支持级别变为其他级别时,首先要进行原运行级别所对应的所有K程序。

以S开头的脚本程序是系统进入某个运行级别时所执行的,作用是启动某种服务。当系统改变为某个运行级别时,就要运行新运行级别所对应的所有S程序。

5增加启动脚本程序

用户可能有一些特定的硬件设备要初始化,或需要在系统启动时初始化一些其他应用程序,用户可以增加自己的初始化脚本程序来完成这些工作。通常步骤是:

复制一个已经存在的脚本,这样可以得到一个通用的框架格式。

修改这个脚本,以完成自己的需求,要注意使程序可以处理启动和关闭的参数,尽管可能关闭处理什么也不需要干。

把这个肢本拷贝到/etc/rc.d/init.d目录下,命名为”serv”。

按下面的方法在相应的目录下建立运行控制链接:

CODE:ln –s ../init.d/serv/etc/rc.d/rc3.d/s99 serv

进行测试。

6 LILO和其他的启动模块

要启动Linux,启动模块是必须的。一般用于Linux的启动模块是LILO,LILO用自己的主引导区代替一般的主引导区。LILO可以通过修改/etc/lilo.conf文件内容来进行配置,对引导区内容的更新通过lilo命令来完成。

下面给也了一个装有DOS,TurboLinux3.4.0和RedHat 5.2系统的计算机的lilo.conf文件。在例子中的数字标号是用户加上去并要在文中详细解释的。

CODE:# more /etc/lilo.conf

boot=dev/had

map=/boot/map

instll/boot/boot.b

prompt

#表示启动盘是/dev/had,这是主IDE硬盘。

timeout=50

#表示等待用户输入的时间是50秒。

default=TL3.4

other=dev/hda1

#表示如果在上述的时间内没有输入,缺省的启动系统是TL3.4,即TurboLinux 3.4.0

label=dos

table=dev/had

#表示如果在LILO提示用户输入启动系统时,用户按了;键,各个系统将以label的内容显示出来,供用户选择。

image=/mnt/tl3.4/boot/vmlinuz

label=TL3.4

root=/dev/hda3

read-only

TurboLinux的启动文件,/mnt/tl3.4/boot/vmlinuz被确定,根文件系统在/dev/hda3,根文件系统是只读方式的。

CODE:image=/mnt/rh5.2/boot/vmlinuz-2.0.36-0.7

label=RH5.2

root=/dev/hda4

read-only

关于linux管理常用命令的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。


数据运维技术 » 常用Linux命令大全,助你轻松管理服务器! (linux管理常用命令)