Linux提供了大量的命令,利用它可以有效地完成大量的工作,如磁盘操作、文件存取、目录操作、进程管理、文件权限设定等。所以,在Linux系统上工作离不开使用系统提供的命令。要想真正理解Linux系统,就必须从Linux命令学起,通过基础的命令学习可以进一步理解Linux系统。
不同Linux发行版的命令数量不一样,但Linux发行版本最少的命令也有200多个。这里笔者把比较重要和使用频率最多的命令,按照它们在系统中的作用分成下面六个部分一一介绍。
◆ 安装和登录命令:login、shutdown、halt、reboot、install、mount、umount、chsh、exit、last;
◆ 文件处理命令:file、mkdir、grep、dd、find、mv、ls、diff、cat、nl;
◆ 系统管理相关命令:df、top、free、quota、at、lp、useradd、groupadd、kill、crontab;
◆ 网络操作命令:ifconfig、ip、ping、netstat、telnet、ftp、route、rlogin、rcp、finger、mail、 nslookup;
◆ 系统安全相关命令:passwd、su、umask、chgrp、chmod、chown、chattr、sudo ps、who;
◆ 其它命令:tar、unzip、gunzip、unarj、mtools、man、unencode、uudecode。

一、安装和登录命令:
1.login:进入文字界面时出现的第一个命令,会要求用户输入帐号;
2.shutdown:一个内容较丰富的命令,可实现关机、重启、停止等功能,需要有root权限。参数有:-r:重启;-h:关机;-P:关机;-H:停止;-k:假关机;-c:取消关机;例:立刻重启:shutdown -r now;例:2分钟后重启:shutdown -r +2;例:在十点十分重启:shutdown -r 10:10;例:立刻关机:shutdown -h now(shutdown -P now);例:取消关机:(这个时候的关机指令需要在后台运行,而取消前台的关机只需要ctrl+c):shutdown -c “shutdown cancel”;例:假装关机:shutdown -k now “the system is going to shutdown”。
3.reboot、halt、poweroff:其中reboot实现重启,halt、poweroff实现关机,只需要普通用户的权限,使用时无需带参数。
4.install命令的作用是安装或升级软件或备份数据,它的使用权限是所有用户。例:install -d /usr/bin install -p -D -m 0755 targets /usr/bin;相当于:mkdir -p /usr/bin cp targets /usr/bin chmod 755 /usr/bin/targets touch /usr/bin/tagets;例:将laj.c文件复制到laj文件夹中:install laj.c laj。
5.mount、umount:mount的参数很多,常用的方法时mount device dir;umount:常用方式:umount device(or dir)。
6.chsh:作用:改变用户的shell;例:查看系统所有的shell:chsh -l;例:查看用户的shell:echo $SHELL;例:将用户的shell改为/bin/sh:chsh -s /bin/sh;
7.exit:exit命令用于退出当前shell,在shell脚本中可以终止当前脚本执行。
8.last:查看用户的登录情况,其中pts/0表示在伪终端(在图形界面上打开的终端)打开的第一个终端,pts/1表示在图形界面上打开的第二个伪终端。

二、文件处理命令:
1.file:常用的方法:查看文件的类型;例:查看/etc/passwd文件类型:file /etc/passwd。
2.mkdir:创建目录;例:创建目录laj1/laj2/laj3,并输出相关创建信息:mkdir -pv laj1/laj2/laj3;例:创建目录laj,并设定模式为777:mkdir -m 777 laj。
3.grep:这个命令太重要了,一定要掌握,知识点相当多,这里省略。它配合管道命令“|”能实现很多的功能。
4.dd:这个命令不仅可以制作一个文件,还可以备份;例:将/etc/passwd备份到/tmp/passwd.back中:dd if=/etc/passwd of=/tmp/passwd.back;例:将自己磁盘的第一个扇区备份下来:dd if=/dev/sda of=/tmp/mbr.back bs=512Count=1。tar可以用来备份关键数据,而dd则可以用来备份整块分区或者整块c磁盘。
5.find:查找内容,不是在数据库中进行查找,而是在整个磁盘中查找;例:将过去系统上面24小时内有改动(mtime)的文件列出:find / -mtime 0;例:寻找/etc下面文件,如果文件日期比/etc/passwd新就列出:find /etc -newer /etc/passwd;例:查找/home下面属于laj用户的文件:find /home -user laj;例:查找系统中不属于任何人的文件:find / -nouser;例:查找文件名为passwd的文件:find / -name passwd;例:查找/var目录下文件类型为Socket的文件:finf /var -type s;例:查找文件当中含有SGID或SUID或SBIT的的属性:find / -perm +7000。
6.mv:移动文件或重命名:例:将文件laj1.c、laj2.c、laj3.c移动到laj文件夹下:mv laj1.c laj2.c laj3.c laj;例:将文件laj.c重命名为laj1.c:mv laj.c laj1.c;
7.ls:列出内容;例:列出/home/laj文件夹下的所有文件和目录的详细资料:ls -lR /home/laj(而如果使用ls -l /home/laj则不会列出子目录下的详细内容);例:列出当前目录中所有以“t”开头的目录的详细内容:ls -l t*;例:只列出文件下的子目录:ls -F /home/laj;例:列出/home/laj下的子目录详细情况:例:列出目前工作目录下所有档案及目录;目录于名称后加“/”,可执行档于名称后加“*”:ls -AF;例:计算当前目录下的文件数与目录数:ls -l |grep "^d"|wc -l;例:在ls中列出文件的绝对路径:ls |sed "s:^:`pwd`/:"。
8.diff:用于比较文件的内容,还可以产生补丁;例:比较两个文件laj1与laj2:diff laj1 laj2;例:比较文件laj1与laj2并将结果并排格式输出:diff laj1 laj2 -y -W 50;例:比较文件laj1与laj2并将结果上下文格式输出:diff laj1 laj2 -c 50;例:比较文件夹laj1与laj2的不同:diff laj1 laj2;例:比较文件laj1与laj2的不同,并产生补丁:diff laj1 laj2 > patch.log;例:将laj1打补丁:patch laj1 patch.log。
9.cat:cat主要的三大功能:(1)一次显示整个文件 cat filename;(2)从键盘创建一个文件 cat > filename 只能创建新文件,不能编辑已有文件;(3)将几个文件合并为一个文件,cat file1 file2 > file;例:将文件laj带行号(包括空格)显示:cat -n laj;若空格不显示行号:cat -b laj;例:用cat将键盘的输入来创建文件:cat > laj.txt << EOF;例:用cat命令来追加文件:cat >> laj.txt << EOF;例:将laj1、laj2文件的内容一起输出到laj3文件中:cat laj1 laj2 > laj3;若时累加到laj3文件中,则使用>>。
10.nl:可以将输出的文件内容自动加上行号,其默认的结果与cat -b有点不一样,nl可以将行好做比较多的显示设计,包括位数与是否自动补齐0等的功能;例:用nl输出laj.txt文件的内容:nl laj.txt;例:用nl输出laj.txt的内容,空行也加上行号:nl -b a laj.txt;让行号前面自动补上0,调整宽度为3,统一输出格式:nl -b a -n rz -w 3 laj.txt;

三、系统管理相关命令:
1.df:该命令用来检查Linux服务器的文件系统的磁盘空间的占用情况,可以使用该命令来获取磁盘被占用了多少空间爱你,目前还剩下多少空间等信息;例:以方便阅读方式查看目前系统情况:df -h;
2.top:该命令比较重要,可以用来观察程序的变化,直接输入top命令时,可以看到上下两部分的信息,在top运行界面中,可以通过输入f来增加或减少输出的观测值,可以通过按下大写的M或P将内存或者CPU作为排序量,通过按下R来反序,可以输入r来改变某个PID对应的NI值;例:每两秒钟更新一次top,观察整体信息:top -d 2;例:将top的信息运行来次,然后将结果输出到/tmp/top.txt中:top -b -n 2 > /tmp/top.txt;例:假设2777是一个已经存在的PID,如何观察该程序:top -d 2 -p 2777;
3.free:监控Linux内存的使用情况;直接输入free命令就会得到内存的使用情况,这里Mem_total=Mem_used+Mem_free;-buffers/cache=Mem_used-Mem_buffers-Mem_cached:指的是实际使用的内存;+buffers/cache=Mem_free+Mem_buffers+Mem_cached:指的是实际没有被用到的内存;buffers指的是系统分配但未被使用的buffer数量,cached指的时系统分配但未被使用的cache数量;free中的buffer与cache都是占用内存的,但是buffer是作为buffer cache的内存,时块设备的读写缓冲区;cache作为page chche的内存,时文件系统的cache,如果cache的值很大,说明cache住的文件数越多,如果频繁访问到的文件都能被cache住,那么磁盘的读IO必会非常少。
4.quota:该命令用来显示磁盘使用情况限制情况,使用权限超级用户。
5.at:在一个制定的时间执行一个指定任务,只能执行一次,且需要开启atd进程;计划任务设定后,在没有执行之前可以用atq命令来查看系统没有执行的工作任务,使用atrm 任务号 来删除已经设置的任务;例:三天后的下午5点执行/bin/ls:at 17:00 +3 days /bin/ls;例:明天17点钟,输出时间到指定文件内:at 17:00 tomorrow date > /root/laj.txt;
6.lp:打印命令,目前本机上的打印命令还不能实现,例:要在连接在设备dlp0上的打印机lp0上打印文件/etc/motd:lp /etc/motd;例:要使用文件的一个副本打印/etc/motd文件的30个副本,并且要用邮件通知用户作业完成:lp -c -m -n30 lp0:lpd0 /etc/motd;例:要使用后端标志-f和-a并带上作业标题blash打印/etc/motd文件:lp -t "blash" -o -f -a /etc/motd;
7.useradd:用于添加用户;相应的userdel可以删除用户,需要root权限。
8.groupadd:用于添加用户组,该命令与useradd类似。
9.kill:用于删除相关进程,例:删除pid为1000的进程:kill 1000。常用方式kill -s 9 pid;可以通过top或者ps命令查看相应进程的pid,通过kill -l查看相应的信号指令。
10.crontab:该命令是unix系统下的定时任务触发器,使用权限在/etc/cron.deny与/etc/cron.allow中,需要开启crond任务;例:每月1号和15号检查/home磁盘:0 0 1,15 * * fsck /home;例:每小时的第一分钟执行date:1 * * * * date。

四:网络操作命令:
1.ifconfig:指的是网络接口配置(interfaces config),通常需要root权限或者sudo才能使用ifconfig命令;例:显示网络设备信息:ifconfig;例:启动关闭指定网卡:ifconfig eth0 up,ifconfig eth0 down;例:配置ip地址:ifconfig eth0 192.168.120.56;例:设置最大传输单元:ifconfig eth0 mtu 1500;注:用ifconfig命令配置的网卡信息,在网卡重启后机器重启后,配置就不存在,要想将上述的配置信息永远存在电脑里,那就要修改网卡的配置文件,该命令基本上已经过时,可以被ip命令代替。
2.ip:基本上它整合了ifconfig与route这两个命令,不过ip的功能更强大;例:显示出所有的设备信息:ip link show;例:启动、关闭与设定设备的相关信息:ip link set eth0 up/down,ip link set eth0 mtu 1000;例:显示所有设备的IP参数:ip address show;例:显示目前的路由资料:ip route show。
3.ping:确定网络和各外部主机的状态,跟踪和隔离硬件和软件问题,测试、评估和管理网络,如果主机正在运行并连在网上,它就会对回送信号进行响应;例:ping一下192.168.1.13:ping 192.168.1.13;例:ping一下百度,并且发送10次,时间间隔为0.1秒:ping -c 10 -i 0.1 www.baidu.com。
4.netstat:该命令用于显示各种网络相关信息,如网络连接、路由表等;例:列出所有端口(包括监听和未监听的):netstat -a;例:列出所有处于监听状态的tcp 端口:netstat -tl;
5.telnet:远程登录命令,现在已经很少用,基本上被ssh替代。
6.ftp:
7.route:
8.rlogin:
9.rcp:
10.finger:
11.mail:
12.nslookup:
五、系统安全相关命令:
1.passwd:该命令可以用来设置和修改密码,但作为普通用户只能更改自己的用户密码,但前提时没有被root锁定,如果root用户运行passwd,可以设置或修改任何用户的密码;例:用root锁定laj密码:passwd -l laj;例:用root取消对laj密码的锁定:passwd -u laj;例:laj自己更改密码:passwd;例:用root更改laj的密码:passwd laj;例:用root清除laj的密码:passwd -d laj;
2.su:用于切换用户,注意:切换时有没有使用“-”会对MAIL、PATH、PWD有影响,“-”与“-l”、“--login”是一样的,建议在切换用户时都要加上“-”;例:由用户root切换到laj:su - laj;例:由用户root切换到laj并执行一个指令:su -c ls -l laj。
3.umask:关于文件和目录默认权限的设置的补值,比较简单,文件最大值为666,目录为777;例:查看umask的值:umask;例:设置umask的值为0022:umask 0022。
4.chgrp:改变用户组,比较简单,需要root权限;例:根据指定文件改变文件的群组属性:chgrp --reference=laj1.txt laj2.txt;例:改变指定目录及其子目录下的所有文件的群组属性:chgrp -R bin laj;例:通过群组识别码改变文件群组属性:chgrp -R 100 laj。
5.chmod:改变文件或目录权限,比较简单,需要root权限。
6.chown:改变用户所有者,比较简单,需要root权限。
7.chattr:用来改变文件、目录的属性,与chmod相比,chmod只是改变文件的读写、执行权限,更底层的属性控制是由chattr来改变的。例:用chattr命令防止系统中某个关键文件被修改:chattr +i /etc/resolv.conf 需要root权限;例:让某个文件只能往里面追加数据,不能删除文件,适合于各种日志文件:chattr +a /var/log/messages。
8.sudo:该命令允许系统管理员分配给普通用户一些合理的“权利”,让他们执行一些只有超级用户或其他特许用户才能完成的任务,sudo设计的宗旨是给用户尽可能少的权限但仍能完成他们的工作,可以通过visudo(root权限)命令设置普通用户的权利;例:用户laj采用root权限来执行ifconfig:sudo ifconfig。
9.ps:该命令对系统中的进行进行监测控制,ps是显示瞬间行程的状态,并不动态连续,使用top命令可以对进程进行动态监控;例:显示系统全部进程:ps aux;最常用的方法是ps aux,然后再用管道符号导向到grep去查找特定的进程,然后再对特定的进程进行操作。
10.who:该命令可以显示目前登入系统的用户信息,该命令较简单,具体用法参考man who。

六、其他命令:
1.tar:Linux下的打包命令,参数c:创建,参数t:查看,参数x:释放,注:参数c、t、x只能存在一个,参数f必须放在最后一个,参数z表示gzip的属性,参数j表示bzip2的属性;例:将整个/etc目录下的文件全部打包成为/tmp/etc.tar:tar -cvf /tmp/etc.tar /etc:仅打包,不压缩;tar -zcvf /tmp/etc.tar.gz /etc:打包后,用gzip压缩;tar -jcvf /tmp/etc.tar.bz2 /etc:打包后,用bzip2压缩;例:查阅/tmp/etc.tar.bz2的内容:tar -jtvf /tmp/etc.tar.bz2;例:将/tmp/etc.tar.gz解压到指定文件夹:tar -jxvf /tmp/etc.tar.bz2 -C dir。
2.unzip:该命令时zip压缩命令的解压缩命令,在Linux中使用较少;例:将laj.txt.zip文件解压缩到当前文件夹:unzip laj.txt.zip。
3.gunzip:该命令用来解压gzip压缩的文件,相当于gzip -d,现在基本上不用了,一般都使用gzip -d:例:将文件laj.txt压缩为laj.txt.gz并用gunzip解压缩:gzip laj.txt(这样就会得到laj.txt.gz),gunzip laj.txt.gz。
4.unarj:用来解压缩.arj文件,本系统中没有这个命令,估计也不常用。
5.mtools:实际上是一个命令集合,时DOS文件系统的工具程序,它可以模拟许多DOS命令,使用的权限时所有用户,Linux系统提供了一组称为mtools的可移植工具,可以让用户轻松地从标准的DOS软盘上读、写文件和目录,它们对DOS和Linux环境之间交换文件非常有用;包括的命令:mcd目录名:改变MS DOS下的目录;mcopy 源文件 目标文件:在MS DOS和Linux之间复制文件;mdel文件名:删除MS DOS下的文件;mdir目录名:显示MS DOS下的目录等等。
6.man:Linux的man手册总共有几个章节:(1)使用者在shell中可以操作的指令或可执行档;(2)系统核心可呼叫的函数与工具等;(3)一些常用的函数与函数库,大部分是C的函数库;(4)装置档案的说明,通常在/dev下的档案;(5)设定档或者是某些档案的格式;(6)游戏;(7)惯例与协定等,例如Linux档案系统、网络协定、ASCII code等等的说明;(8)系统管理员可用的管理指令;(9)跟kernel有关的文件。
7.unencode:该命令可以把一个二进制文件编码为一个文本文件,使用权限是所有用户,格式:uuencode [-hv] [源文件] 目标文件,该命令可以把二进制文件转化为可使用电子邮件发送的ACSII编码形式,uuencode编码后的资料都以begin开始,且通常其中的每一行的开始均为“M”,中间部分是编码过的文件,编码后的文件要比源文件大一些。
8.uudecode:该命令会将uuencode编码后的档案还原,uudecode只会将begin与end标记之间的编码资料还原,程序会跳过标记以外的资料,它的使用权限是所有用户。

Linux菜鸟必学的60个命令相关推荐

  1. linux菜鸟必学的60个命令,Last- Linux必学的60个命令

    1.作用 last命令的作用是显示近期用户或终端的登录情况,它的使用权限是所有用户.通过last命令查看该程序的log,管理员可以获知谁曾经或企图连接系统. 2.格式 1ast[-n][-f file ...

  2. linux菜鸟必学的60个命令,新手入门 Linux菜鸟必学的60个命令

    linux常用命令介绍 Linux必学命令 Linux提供了大量的命令,利用它可以有效地完成大量的工作,如磁盘操作.文件存取.目录操作.进程管理.文件权限设定等.所以,在Linux系统上工作离不开使用 ...

  3. Linux必学的60个命令(文字整理版)

    Linux必学的60个命令         Linux提供了大量的命令,利用它可以有效地完成大量的工作,如磁盘操作.文件存取.目录操作.进程管理.文件权限设定等.所以,在Linux系统上工作离不开使用 ...

  4. linux必学的100个命令,Linux必学的60个命令

    inux必学的60个命令本文引用地址:http://www.eepw.com.cn/article/201610/305663.htm Linux提供了大量的命令,利用它可以有效地完成大量的工 作,如 ...

  5. IT忍者神龟之 Linux必学的60个命令

    Linux必学的60个命令 Linux提供了大量的命令,利用它可以有效地完成大量的工 作,如磁盘操作.文件存取.目录操作.进程管理.文件权限设定等.所以,在Linux系统上工作离不开使用系统提供的命令 ...

  6. linux 命令传文件大小,Linux必学的60个命令(6)-其他

    Linux必学的重要命令 (1) 在前面几讲中,我们把Linux命令按照在系统中的作用分成几个部分分别予以介绍.但是,还有一些命令不好划分,然而学习它们同样是比较重要的. tar 1.作用 tar命令 ...

  7. linux命令sm,标 题: Linux必学的60个命令(6)-其他

    Linux必学的60个命令:其它 Linux必学的重要命令 (1) 作者:曹元其 发文时间:2004.12.16 在前面几讲中,我们把Linux命令按照在系统中的作用分成几个部分分别予以介绍.但是,还 ...

  8. linux中Gy模式什么意思,Linux必学的60个命令 -其他

    其它命令:tar.unzip.gunzip.unarj.mtools.man.unendcode.uudecode. 在前面几讲中,我们把Linux命令按照在系统中的作用分成几个部分分别予以介绍.但是 ...

  9. Linux 必学的 60 个命令__1__网络安全

    Linux 必学的 60 个命令:系统安全相关命令 虽然 Linux 和 Windows NT/2000 系统一样是一个多用户的系统,但是它们之间有不少重要的差别.对于很多习惯了 Windows 系统 ...

最新文章

  1. SharePoint SiteCollection 和SubWeb之间的迁移
  2. poj 1873 枚举+凸包
  3. C++输入输出进制、数据宽度与对齐、精度、取整
  4. Jquery中$.get(),$.post(),$.ajax(),$.getJSON()的用法总结
  5. 漫画 | 这样的男朋友,让我分分钟想剖腹自尽!
  6. 中国互联网哪来的所谓“所谓”的创新?“狗日”的腾讯究竟动了谁的蛋糕?...
  7. 开源社交系统java_JAVA 开源 SNS 社交系统 JEESNS V0.8 发布
  8. PAIP.在程序中设置壁纸墙纸
  9. JAVA实现Html转Pdf(wkhtmltopdf)
  10. 如何批量修改文件夹名称排序?
  11. WPS制作三线表(表内横线粗细可调)
  12. 计量单位报错:消息号BM305 “未使用语言 ZH 创建单位 XXX”
  13. eclipse报 The word is not correctly spelled问题
  14. 【IntelliJ IDEA】idea多次重装打不开的解决办法
  15. 宣传python的顺口溜-Python3内置函数——reversed() = 翻转我的世界
  16. 解决vmware 本地连接时出错:地址仍未与网络终结点关联
  17. git ——回退过去、回到未来
  18. Spring DataBufferLimitException: Exceeded limit on max bytes to buffer : 262144
  19. 负载均衡(LB)详解
  20. 会计科目使用说明_A股财务数据的整理和使用

热门文章

  1. 理财笔记 - 核心资产
  2. vscode编写PHP第一个程序,我们推荐与选择Visual Studio Code(vsCode)作为前端与PHP程序的开发工具,其主要的原因是?...
  3. 简单介绍Substrate:下一代区块链开发框架
  4. 用HTML实现倒计时
  5. 防京东淘宝商城网站------2.项目配置以及自生成代码
  6. PLM中的BOM定义和BOM知识介绍
  7. 天天都是面对对象编程,你真的了解你的对象吗?
  8. 我用html+css+js+vue写了一个赛博朋克2077
  9. 计算机科学家感想,向计算机科学家学习
  10. ASEMI代理NXP汽车芯片MKE02Z32VLC4