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来修复,参考地址:
http://jingyan.baidu.com/article/2f9b480d6c2bcd41cb6cc223.html?qq-pf-to=pcqq.c2c
http://loamy.iteye.com/blog/422462
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