位置:海鸟网 > IT > linux/Unix >

linux基本常用命令勿忘笔记

作者:amspring

linux基本常用命令勿忘笔记
 
 
 
常用的linux基本命令 
 
   这些天在鼓捣linux时,一些基本的命令长久时间没有使用,忘记了,有些基本命令场用印象到时深刻,但是有些偶尔会用到,时间久了难免会忘记,然后又是花时间去查找,这样浪费时间挺不值的,现记录下一些自己平时用到而且容易忘记的命令,以便日后查询使用 
 
1.pwd       显示当前目录路径 
 
2.mkdir dir   创建目录 
 
3.cd dir      进入目录 
 
  cd ..     回到上级目录 
 
  cd /     回到根目录 
 
  cd ~/cd  回到当前用户的home目录下 
 
4.ls    显示目录文件,一般情况下用到这个就可以 
 
  ls -a  列出目录下的所有文件,包括以 . 开头的隐含文件 
 
  ls -t  以时间排序 
 
  ls -h  生成的结果有利于浏览 
 
  ls -l  列出文件的详细信息 
 
  ………… 
 
例如: 
 
ubuntu@ip-10-250-31-239:~$ ls -lhta 
 
total  12M 
 
drwx------  2  ubuntu  ubuntu  4.0K   Apr 11 00:41    .ssh 
 
-rw-r--r--  1   root    root    12M   Dec 12  2012   node-v0.8.16.tar.gz 
 
…… …… …… 
 
 
 
第1字段:  文件属性字段 文件属性字段总共有10个字母组成,第一个字母表示文件类型,如果这个字母是一个减号”-”,则说明该文件是一个普通文件.字母”d”表示该文件是一个目录,字母”d”,是dirtectory(目录)的缩写. 第2字段:文件硬链接数或目录子目录数 第3字段:文件拥有者 第4字段:文件拥有者所在的组 第5字段:文件文件大小(以字节为单位) 第6字段:文件创建月份 第7字段:文件创建日期 第8字段:文件创建时间 第9字段:文件名 (如果是一个符号链接,那么会有一个 “->” 箭头符号,后面跟一个它指向的文件) 
 
5.du  显示所有目录和文件大小 
 
  du -m   以1m为单位显示 
 
 
 
 
 
 
 
 
 
6.cp 复制文件 
 
  将文件filename1  复制后为  文件 filename2 
 
  cp filename1 filename2  
 
  cp config/cache_store.yml.example  config/cache_store.yml 
 
 
 
  cp -f file1 file2   将文件file1复制成file2,因为目的文件已经存在,所以指定使用强制复      
 
                 制的模式 
 
  cp -R file1 file2  将目录dir1复制成目录dir2 
 
7. mv  移动或更名现有的文件或目录。 
 
  mv  file1 file2  将file1的名字改为file2 
 
  mv  file1 /opt  将file1移动opt目录下,没有改名 
 
  mv  file1 /opt/file2 将file1移到opt下并将file1名字改为file2 
 
  mv  file1/* /opt/file2 将file1下所有文件移动file2下面 
 
 
 
8.rm  删除档案及目录 
 
  参数: 
 
    -i 删除前逐一询问确认 
 
    -f 即使原档案属性设为唯读,亦直接删除,无需逐一确认 
 
    -r 将目录及以下之档案亦逐一删除 
 
rm filename      删除文件 
 
rm -rf filename    删除目录,使用这个要相当谨慎, 
 
删除某个重要文件之前最好能够备份一下 
 
如果不小心删除某个文件,请试着使用系统自带还工具debugfs来修复,参考地址: 
 
?qq-pf-to=pcqq.c2c 
 
 
 
 
 
9.tar 备份文件 
 
  tar  czvf  backupfilename.tar  filename 
 
  解压备份 
 
  tar  zxvf  backfilename.tar 
 
 
 
10.find  
 
   参数: 
 
-name   filename             #查找名为filename的文件 
 
-perm                        #按执行权限来查找 
 
-user    username             #按文件属主来查找 
 
-group groupname            #按组来查找 
 
-mtime   -n +n                #按文件更改时间来查找文件,-n指n天以内,+n指n天以前 
 
-atime    -n +n               #按文件访问时间来查GIN: 0px"> 
 
-ctime    -n +n              #按文件创建时间来查找文件,-n指n天以内,+n指n天以前 
 
-nogroup                     #查无有效属组的文件,即文件的属组在/etc/groups中不存在 
 
-nouser                     #查无有效属主的文件,即文件的属主在/etc/passwd中不存 
 
-newer   f1 !f2              找文件,-n指n天以内,+n指n天以前 
 
-ctime    -n +n               #按文件创建时间来查找文件,-n指n天以内,+n指n天以前 
 
-nogroup                     #查无有效属组的文件,即文件的属组在/etc/groups中不存在 
 
-nouser                      #查无有效属主的文件,即文件的属主在/etc/passwd中不存 
 
-newer   f1 !f2               #查更改时间比f1新但比f2旧的文件 
 
-type    b/d/c/p/l/f         #查是块设备、目录、字符设备、管道、符号链接、普通文件 
 
-size      n[c]               #查长度为n块[或n字节]的文件 
 
-depth                       #使查找在进入子目录前先行查找完本目录 
 
-fstype                     #查更改时间比f1新但比f2旧的文件 
 
-type    b/d/c/p/l/f         #查是块设备、目录、字符设备、管道、符号链接、普通文件 
 
-size      n[c]               #查长度为n块[或n字节]的文件 
 
-depth                       #使查找在进入子目录前先行查找完本目录 
 
-fstype                      #查位于某一类型文件系统中的文件,这些文件系统类型通常可 在/etc/fstab中找到 
 
-mount                       #查文件时不跨越文件系统mount点 
 
-follow                      #如果遇到符号链接文件,就跟踪链接所指的文件 
 
-cpio                %;      #查位于某一类型文件系统中的文件,这些文件系统类型通常可 在/etc/fstab中找到 
 
-mount                       #查文件时不跨越文件系统mount点 
 
-follow                      #如果遇到符号链接文件,就跟踪链接所指的文件 
 
-cpio                        #对匹配的文件使用cpio命令,将他们备份到磁带设备中 
 
-prune                       #忽略某个目录 
 
例如: 
 
ubuntu@ip-10-250-31-239:/$ sudo find -name apache2 
 
  ./etc/init.d/apache2 
 
./etc/logrotate.d/apache2 
 
./etc/cron.daily/apache2 
 
./etc/apache2 
 
./etc/default/apache2 
 
./usr/sbin/apache2 
 
………… 
 
 
 
 
 
11. grep 
 
    一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来.要用好grep这个工具,其实就是要写好正则表达式 
 
$ ls -l | grep '^a'  通过管道过滤ls -l输出的内容,只显示以a开头的行 
 
$ grep 'test' d*   有以d开头的文件中包含test的行 
 
$ grep 'test' aa bb cc  显示在aa,bb,cc文件的行 
 
拓展命令 
 
    egrep 命令,搜索文件获得模式。 
 
 
 
12.man 
 
   Linux提供了丰富的帮助手册,当你需要查看某个命令的参数时不必到处上网查找,只要man一下即可。 
 
例如: 
 
ubuntu@ip-10-250-31-239:/$ man ls 
 
显示出ls的用法和参数 
 
Manual page ls(1) line 1 (press h for help or q to quit)最好输入q退出 
 
 
 
13.ps 
 
   ps命令给出正在运行的某个进程的状态,每个进程有特定的id成为PID 
 
参数: 
 
-A :所有的 process 均显示出来,与 -e 具有同样的效用; 
 
-a :不与 terminal 有关的所有 process ; 
 
-u :有效使用者 (effective user) 相关的 process ; 
 
x :通常与 a 这个参数一起使用,可列出较完整信息。 
 
输出格式规划: 
 
l :较长、较详细的将该 PID 的的信息列出; 
 
j :工作的格式 (jobs format) 
 
-f :做一个更为完整的输出。 
 
 
 
ps aux  列出目前所有的正在内存当中的程序 
 
ps -l    将目前属于您自己这次登入的 PID 与相关信息列示出来 
 
常与grep并用 
 
 
 
14.kill 
 
    用来杀死已经无关紧要或者没有响应的进程 
 
    杀死一个进程需要知道进程的PID. 
 
    ps -ef 查看当前用户下所有的进程 
 
    ps -ef|grep httpd/ ps -A | grep -i apache2  查看httpd的pid 
 
    然后 kill -pid 结束进程 
 
    *killall命令 
 
  killall命令杀死同一进程组内的所有进程。其允许指定要终止的进程的名称,而非PID。 
 
  # killall httpd 
 
 
 
 # kill -HUP PID 
 
  该命令让Linux和缓的执行进程关闭,然后立即重启。在配置应用程序的时候,这个命令很方便,在对配置文件修改后需要重启进程时就可以执行此命令。 
 
 
 
15.whereis 
 
    whereis命令用来查找命令的位置,包括执行文件、源代码和手册页文件(locate the binary, source, and manual page files for a command)。如果要查找任意文件的所在位置,可以使用locate或者find等命令 
 
    whereis [ -s ] [ -b ] [ -m ] [ -u ] [ { { -S | -B | -M } Directory ... }... -f ] 要找的文件名 
 
-b 搜索文件的二进制部分。 
 
-m 搜索文件的手册部分。 
 
-s 搜索文件的源部分。 
 
-u 没有说明文档的文件 
 
例如 
 
ubuntu@ip-10-250-31-239:~$ whereis postgresql 
 
postgresql: /etc/postgresql /usr/lib/postgresql /usr/include/postgresql /usr/share/postgresql 
 
 
 
16.service 
 
   命令控制服务的启动、停止和重启,它让你能够不重启整个系统就可以让配置生效以开启、停止或者重启某个服务 
 
例如 
 
service  apache2  start 
 
service  apache2  restart 
 
service  apache2  stop 
 
 
 
17. alias 
 
  是一个系统自建的shell命令,允许你为名字比较长的或者经常使用的命令指定别名 
 
例如: 
 
ubuntu@ip-10-250-31-239:~$ alias l='ls -l' 
 
ubuntu@ip-10-250-31-239:~$ l 
 
total 11632 
 
drwxr-xr-x 14 root  root      4096 Apr 18 02:10 canvas 
 
drwxr-xr-x 10 24561 staff     4096 Apr 18 04:12 node-v0.8.16 
 
-rw-r--r--  1 root  root  11899509 Dec 12  2012 node-v0.8.16.tar.gz 
 
去掉’l'别名,要使用unalias命令 
 
例如: 
 
ubuntu@ip-10-250-31-239:~$ unalias l 
 
ubuntu@ip-10-250-31-239:~$ l 
 
l: command not found 
 
ubuntu@ip-10-250-31-239:~$ 
 
 
 
 
 
 
 
18.df 
 
   报告系统的磁盘使用情况。在跟踪磁盘使用情况方面对于普通用户和系统管理员都很有用。 ‘df‘ 通过检查目录大小工作,但这一数值仅当文件关闭时才得到更新 
 
ubuntu@ip-10-250-31-239:~$ df 
 
Filesystem     1K-blocks     Used  Available  Use%  Mounted on 
 
/dev/xvda1       8256952  2690192   5147332  35%  / 
 
udev              294136      12    294124   1%   /dev 
 
tmpfs             120872     200    120672   1%   /run 
 
none                5120       0      5120   0%   /run/lock 
 
none              302180       0    302180   0%   /run/shm 
 
ubuntu@ip-10-250-31-239:~$ 
 
 
 
19.echo 
 
  显示文字 
 
ubuntu@ip-10-250-31-239:~$ echo "dian di yun" 
 
dian di yun 
 
ubuntu@ip-10-250-31-239:~$ 
 
 
 
20.wget 
 
   是用于非交互式(例如后台)下载文件的免费工具.支持HTTP, HTTPS, FTP协议和 HTTP 代 
 
理 
 
例如: 
 
wget  url 
 
 
 
21.free 
 
  显示内存状态 
 
free命令详解:  功能说明:显示内存状态。    
 
语  法: free [-bkmotV][-s ]    
 
补充说明:free指令会显示内存的使用情况,包括实体内存,虚拟的交换文档内存,共享内存区段,连同系统核心使用的缓冲区等。   
 
参  数:    
 
-b     以Byte为单位显示内存使用情况。   
 
-k    以KB为单位显示内存使用情况。   
 
-m   以MB为单位显示内存使用情况。   
 
-o    不显示缓冲区调节列。   
 
-s    持续观察内存使用状况。   
 
-t     显示内存总和列。   
 
-V   显示版本信息。 
 
例如: 
 
ubuntu@ip-10-250-31-239:~$ free -m 
 
                 total       used       free     shared    buffers     cached 
 
Mem:            590        572         17          0        130        256 
 
-/+ buffers/cache:  185        405 
 
Swap:            0          0          0 
 
22. ifconfig 
 
   用于显示或配置网络设备(网络接口卡)的命令 
 
ubuntu@ip-10-250-31-239:~$ ifconfig 
 
eth0      Link encap:Ethernet  HWaddr 22:00:0a:fa:1f:ef  
 
          inet addr:10.250.31.239  Bcast:10.250.31.255  Mask:255.255.255.192 
 
          inet6 addr: fe80::2000:aff:fefa:1fef/64 Scope:Link 
 
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1 
 
          RX packets:3481075 errors:0 dropped:0 overruns:0 frame:0 
 
          TX packets:1382616 errors:0 dropped:0 overruns:0 carrier:0 
 
          collisions:0 txqueuelen:1000 
 
          RX bytes:3836200331 (3.8 GB)  TX bytes:194867450 (194.8 MB) 
 
          Interrupt:25 
 
 
 
lo        Link encap:Local Loopback  
 
          inet addr:127.0.0.1  Mask:255.0.0.0 
 
          inet6 addr: ::1/128 Scope:Host 
 
          UP LOOPBACK RUNNING  MTU:16436  Metric:1 
 
          RX packets:3294499 errors:0 dropped:0 overruns:0 frame:0 
 
          TX packets:3294499 errors:0 dropped:0 overruns:0 carrier:0 
 
          collisions:0 txqueuelen:0 
 
          RX bytes:1025117298 (1.0 GB)  TX bytes:1025117298 (1.0 GB) 
 
 
 
23.netstat 
 
   用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等 
 
参数: 
 
-a (all)显示所有选项,默认不显示LISTEN相关 
 
-t (tcp)仅显示tcp相关选项 
 
-u (udp)仅显示udp相关选项 
 
-n 拒绝显示别名,能显示数字的全部转化成数字。 
 
-l 仅列出有在 Listen (监听) 的服務状态 
 
-p 显示建立相关链接的程序名 
 
-r 显示路由信息,路由表 
 
-e 显示扩展信息,例如uid等 
 
-s 按各个协议进行统计 
 
-c 每隔一个固定时间,执行该netstat命令。 
 
提示:LISTEN和LISTENING的状态只有用-a或者-l才能看到 
 
列出所有端口 netstat -a 
 
列出所有 tcp 端口 netstat -at 
 
列出所有 udp 端口 netstat -au