红联Linux门户
Linux帮助

Linux/Unix系统中常用命令

发布时间:2015-02-06 15:28:38来源:linux网站作者:linux人

本文记录Linux/Unix系统中常用命令:

先列几个基本的:

ls :列出当前文件夹下所有文件(不包括隐藏文件)

cd [文件夹] : 改变当前路径

pwd : 打印当前路径

rm [文件]: 删除文件

touch  [文件]:   新建一个文件

mv [文件旧路径]  [文件新路径]: 剪切文件到新路径(也可用于文件重命名)

cp [文件原路径]  [复制的文件路径]:复制文件到其他路径

mkdir [文件夹]: 新建一个文件夹

rmdir [文件夹]: 删除一个文件夹

cat   [文件] : 打印文件所有内容

less [文件] : 类似cat,但是一次只打印一页

more [文件] :进入浏览模式

ps  : 查看当前进程, 常用 ps A 或者 ps aux 查看所有进程

kill 9 [进程ID] : 杀死某个进程

列下Linux下特殊符合:

. 当前文件夹

..   父文件夹

~ 当前用户的home文件夹

* 可以代替任意个数字符(除了.)

? 可以代替一个字符(除.)

1  chmod  更改文件夹或者文件的权限

$ chmod [权限] [file]

一般一个文件可以对不同的3个 群组(所有者,某一指定群组,其他群组)定义不同权限, 用 ls l [文件]查看. 所有在 [权限]处是有3为数字组成

而对每个组都有三种操作类型,即读R,写W,运行X,分别对应 4,2,1

也就是说如果想要一个文件只读,则在权限中代入4, 只写是2,如果读写就是6,所以最大权限是7(读写运行都包括)

chmod 777 [file] 来开启一个文件的所有权限

2 apt 包管理器的使用

寻找可用的安装包

$ aptcache search [关键字]    在软件源下查找并输出具有关键字的所有软件包

查询pkgs包的依赖包

$ aptcache showpkg [pkgs]     打印某软件包所依赖的其他软件包

安装pkgs包

$ aptget install [pkgs] 安装指定的单个软件包

$ aptget  builddep [pkgs]   自动安装指定及其所依赖的所有包 (当缺少软件包是很适合)

卸载包

$ aptget remove [pkgs]

$  aptget purger [pkgs]    /*同时删除该pkgs的配置文件*/

更新

$ aptget upgrade  对电脑中已安装所有软件包升级(如果存在新版本)

$ a ptget update  更新并整理软件源下所提供的软件包

还有类似的 dpkg debian包管理工具

3. jobs 管理终端任务命令

$jobs : 打印该终端的所有任务

$fg  [任务id] : 将该任务转为前台 (我们将失去对该终端控制权)

$%  [ 任务id ]: 唤醒该任务

$bg  [ 任务id ] : 将该任务转为后台 (我们仍然有对终端的控制权)

$[命令]  &    :在后台运行该命令(要有空格)

ctrlz    :刮起当前任务, 可用 %唤醒

ctrlc   :杀死当前任务

4.终端已执行命令的记录操作

$history    打印所有终端已执行的命令

$!!             重新再执行最后一条命令

$![编号]    重新再执行编号的那条命令

$![字符串] 重新再执行由字符串开头的最后一条命令

ctrl+R       用来查找已执行过的命令

ctrl+P       查看上条命令,相对于方向键上

5 netstat  查看进程占用端口命令

$ netstat tlnp

6 route 添加,删除路由 链条

$ sudo route add default gw 10.0.19.254      添加 默认路由

$ sudo route add net X.X.X.X netmask 255.255.255.0 gw X.X.X.X     添加一条 路由链条

$ sudo route del XXXX      删除 一条路由链条

7. diff 比较两个文件。

$ diff <file1> <file2>

或者 cmp

$ cmp [clsv] [i <字符数目>] [help] [第一个文件] [第二个文件]

8. finger 打印 用户信息

$ finger [user]

9. id 查看用户的UID和GID等信息

$ id [user]

10. Passwd 设置密码, Ubuntu安装后root是没有默认的密码的,

$sudo passwd root

11. NMap (Network Mapper)是Linux下的网络扫描和嗅探 工具包, 可以用来扫描主机上开启的所有端口

$nmap [IP]

IP可以是对方的,如果本机就用 localhost

12. telinit 改变linux的运行状态

$ telinit [系统运行等级]

等级可以是 0 1 2 3 4 5 6 等

0 : 关机

1 : 单用户(维修模式

2 à 5 : 视操作系统

2: 可以是多用户模式但无任何服务

3: 可以是多用户模式且开启服务

4, 5:可能启用图形界面

6 : 重启     telinit 等效于  reboot

13. shutdown 立即关机, reboot重启,

$ shutdown h now

$ reboot

14. tunctl  /*创建一个虚拟网卡*/

$tunctl u root  /*avoir une interface*/

$ifconfig tap0 10.0.XXX.1 netmask 255.255.255.0

15. chgrp 更改文件夹或者文件的所在群组 (属组)

$chgrp [群组] [文件/夹]

16. chown 更改文件夹或者文件的所有者(属主)

$chown  [-Rv][用户] [文件/夹]

17. mount 挂载系统文件

mount [option]  [类型] [要被挂载的目的dev文件][挂载的文件夹]

/etc/fstab: 系统启动时自动加载文件的配置

*挂载window的 fat 分区

mount t  vfat  [/dev/had1] [挂载文件夹]

*  用 ntfs-3g 来加载ntfs分区

mount t  ntfs3g   [ /dev/hda1]  [挂载文件夹]

*  挂载 ISO 映象文件

mount  [ISO映像文件][挂载文件夹]  t   iso9660  o loop

取消加载

umount

查看所有加载信息

mount

如果不知道系统文件,介绍个小窍门(以Usb为例): 文件肯定在/dev文件夹下,一般以sdb开头

所以可以先ls /dev/sdb* 列出所有可能文件,然后用fdisk l [文件名] 来查看文件属性,根据给出的信息很容易就能辨认那个自己想要的,然后用mount 加载

18. 几个硬盘管理命令

* df  查看分区存储情况                              $df

* du 报告磁盘空间使用情况                      $du  [文件]

* dump ext2/3 系统文件的备份                 $dump 0f  [目的文件夹]   [要备份的系统文件]

19. 系统管理内核模块

lsmod : 查看内核所有模块

modinfo [模块] : 查看某个模块信息

modprobe : 挂载新模块及新模块相依赖的模块

$modprobe l : 列出所有已加载或未加载的模块

$modprobe [模块] : 加载该模块, 能够自动处理 module 载入的相依问题

$modprobe  r [卸载]:卸载模块

rmmod : 卸载模块

depmod 创建模块依赖关系的列表

insmod 挂载模块,但是不会处理相依的模块,建议用 modprobe

20. mknod  建立块专用或字符专用文件

mknod [options] name {bc} major minor

(option:-p:FIFO型   ;    c:字符  ;   b: 块 )

例子:

$mknod  /dev/net/tun  c  10 200

21. nslookup ( Name System Look Up) 用来跟你所在的DNS服务器交流,可以是查看某个域名的信息等

$nslookup [域名]

打印该域名对应的信息(IP,端口等)

22. gnomesessionsave 用来保存当前系统会话下正在运行的应用程序的快照,并在下次启动时加载恢复该会话

$ gnomesessionsave    [logout]   [forcelogout]   [logoutdialog]   [shutdowndialog] [gui]    [kill [silent]]

23. WC 用来打印文件的大小(行数,字符,字节等模式)

$wc [Option]  [文件]

c, bytes

打印字节数

m, chars

打印字符数

l, lines

打印行数

L, maxlinelength

打印最长行的长度

w, words

打印单词数

24. last 显示目前和过去登录系统的用户相关信息

$last

25. who 命令显示当前登录的所有用户信息。Who的缺省输出包括用户名、终端类型、登录日期及远程主机

$who

26. uname 查看linux的内核信息版本

$uname a

27. dmesg 显示开机信息 日志 (适用于系统出问题时)

文件为: /var/log/dmesg

var/log/messages可能保存着被dmesg忽略的系统信息

$dmesg

28.  imswitch 为 X windows 设定输入方式

$imswitch s [ 输入法的引擎]

常见输入法的引擎有: ibus , Fcitx 或 scim

29. tar 用于归档、压缩等

$tar  [options]   目标路径  [路径名pathname ... ]

cvf     压缩文件或目录                       $tar  cvf  [生成文件名]  [被压缩的文件]

xvf     解压缩文件或目录                                           $tar  xvf  [目标文件]

zcvf     压缩文件或,格式tar.gz , tgz       $tar  zcvf  [生成文件名]  [被压缩的文件]

zxvf     解压缩文件或,格式tar.gz, tgz        $tar  zxvf  [目标文件]

30. chkconfig 命令主要用来更新(启动或停止)和查询系统服务的运行级信息。谨记chkconfig不是立即自动禁止或激活一个服务,它只是简单的改变了符号连接 ,重启后生效

语法:

chkconfig list [name]          显示所有系统服务(包括未运行的)

chkconfig add name          添加一个服务

chkconfig del  name           删除一个服务

chkconfig [level levels] name <on|off|reset> 更改一个服务 相对于系统运行等级的运行模式(开启,关闭等)

例如想关闭 任何系统运行等级下的Apache服务,可以用

$chkconfig level 123456 apache off

系统重启后生效,如果想立即关闭,请用

$sudo /etc/init.d/apache stop

31 . nohup 不挂断地运行命令不会从任何tty输出。

语法:nohup [命令] [ Arg ... ] [ & ]

描 述:nohup 命令运行由 Command 参数和任何相关的 Arg 参数指定的命令,忽略所有挂断(SIGHUP)信号。在注销后使用 nohup 命令运行后台中的程序。要运行后台中的 nohup 命令,添加 & ( 表示"and"的符号)到命令的尾部。

32. whois   查询域名是否已经被注册,以及注册域名的详细信息的数据库(如域名所有人、域名注册商、域名注册日期和过期日期等)

$whois [域名]

33. debugfs 用来恢复用rm 命令删除的文件

$debugfs [device]

34. find 命令搜索系统中的文件

$ find [要搜索的根目录] name [file]

35. traceroute 列出到某个IP所经过的所有路由器

$ traceroute   [IP或域名]

36. 为系统添加额外的交换SWAP空间(通过创建交换空间文件)

$ dd if=/dev/zero of=/.swap bs=1024 count=100000

/*if: 输入的文件(保持不变)         of: 需要创建的交换空间文件路径       bs: 每个block的大小(字  节),1024=1Ko        count: block的数量,所以真实大小为 bsXcount 字节  ,此例为1G的交换空间文件*/

$ mkswap  /.swap             /*格式化文件*/

$ swapon /.swap              /* 启用交换空间文件*/

$ more /proc/swaps          /*查看交换空间是否已经成功启用*/

$swapoff  /.swap          /*停用交换空间*/

如果想以后重启后自动挂载,则编辑/etc/rc.local (不同系统稍微有点差异,记得最后要有exit 0,否则可能无法自动加载),  增加一行:swapon /.swap 即可。