linux 命令大全
/etc 系统引导所需的配置文件
/lib C编译程序需要的函数库
/usr 其他的所有内容,如 src ,local。linux内核就在/usr/src下
/var 系统定义表
/tmp 用于临时性的存储
/bin 大多数的命令存放
/home 存放用户账号
/dev 设备文件的特殊文件
/mnt 用于外挂文件系统(挂载系统盘、光盘)
安装vim:apt-get install vim
查看当前目录:ls -l 、ls -lh
x:删除单个字符
dd:删除一行
u:恢复删除
Ctrl+r:取消命令,如:恢复删除之后还可以取消恢复删除的命令。
y:复制
p:粘贴
查找字符::/字符 如: :/a 即为查找文件中a ,n 下移 N上移
跳转到某一行::n 或者 nG 如 :5 跳转到5行。
设置行号::set number
设置首行缩进::set cindent shifwidth=4
设置tab键空格数量::set tabstop=2
程序编译过程:预编译、编译、优化、汇编、链接
编译文件:gcc hello.c
执行文件: ./a.out
编译为指定名称的文件: gcc -o test hello.c
执行文件:./test
计算机主机名:hostname
查询ip:hostname -i
永久修改主机名:/etc/sysconfig/network
常用指令
1.说出10个linux常用的指令
-
ls 查看目录中的文件
-
cd /home 进入 ‘/ home’ 目录;cd .. 返回上一级目录;cd ../.. 返回上两级目录
-
mkdir dir1 创建一个叫做 ‘dir1’ 的目录
-
rmdir dir1 删除一个叫做 ‘dir1’ 的目录 (只能删除空目录)
-
rm -f file1 删除一个叫做 ‘file1’ 的文件’,-f 参数,忽略不存在的文件,从不给出提示。
-
rm -rf /mulu 目录下面文件以及子目录下文件
-
cp /test1/file1 /test3/file2 如将/test1目录下的file1复制到/test3目录,并将文件名改为file2
-
mv /test1/file1 /test3/file2 如将/test1目录下的file1移动到/test3 目录,并将文件名改为file2
-
mv * ../ Linux当前目录所有文件移动到上一级目录
-
ps -ef|grep xxx 显示进程pid
-
kill 使用kill命令来终结进程。先使用ps命令找到进程id,使用kill -9命令,终止进程。
-
tar –xvf file.tar 解压 tar包
-
unzip file.zip 解压zip
-
unrar e file.rar 解压rar
-
free -m 查看服务器内存使用情况
ps查看进程
2.如何查看所有java进程
-
grep是搜索关键字
ps -ef | grep java
-
-aux 显示所有状态
ps -aux | grep java
kill 杀掉进程
3.如何杀掉某个服务的进程
-
kill 命令用于终止进程
-
-9 强迫进程立即停止
kill -9 [PID]
这里pid需要用 ps -ef | grep 查询pid
启动服务
4.如何启动服务
以启动Tomcat为例,先cd到启动的.sh文件目录
停止Tomcat服务命令
./shutdown.sh
查看日志
5.如何查看测试项目的日志
一般测试的项目里面,有个logs的目录文件,会存放日志文件,有个xxx.out的文件,可以用tail -f 动态实时查看后端日志
先cd 到logs目录(里面有xx.out文件)
tail -f xx.out
这时屏幕上会动态实时显示当前的日志,ctr+c停止
6.如何查看最近1000行日志
tail -1000f xx.out
查看端口
7.LINUX中如何查看某个端口是否被占用
netstat -anp | grep 端口号
图中主要看监控状态为LISTEN表示已经被占用,最后一列显示被服务mysqld占用,查看具体端口号,只要有如图这一行就表示被占用了
查看82端口的使用情况,如图
netstat -anp |grep 82
可以看出并没有LISTEN那一行,所以就表示没有被占用。此处注意,图中显示的LISTENING并不表示端口被占用,不要和LISTEN混淆哦,查看具体端口时候,必须要看到tcp,端口号,LISTEN那一行,才表示端口被占用了
查看当前所有已经使用的端口情况,如图:
netstat -nultp(此处不用加端口号)
find查找文件
8.如何查找一个文件大小超过5M的文件
find . -type f -size +100M
9.如果知道一个文件名称,怎么查这个文件在linux下的哪个目录,如:要查找tnsnames.ora文件
find / -name tnsnames.ora
查到:
/opt/app/oracle/product/10.2/network/admin/tnsnames.ora
/opt/app/oracle/product/10.2/network/admin/samples/tnsnames.ora
还可以用locate 来查找
locate tnsnames.ora
结果是:
/opt/app/oracle/product/10.2/hs/admin/tnsnames.ora.sample
/opt/app/oracle/product/10.2/network/admin/tnsnames.ora
/opt/app/oracle/product/10.2/network/admin/samples/tnsnames.ora
10.find查找文件
find / -name httpd.conf #在根目录下查找文件httpd.conf,表示在整个硬盘查找
find /etc -name httpd.conf #在/etc目录下文件httpd.conf
find /etc -name ‘srm‘ #使用通配符(0或者任意多个)。表示在/etc目录下查找文件名中含有字符串‘srm’的文件
find . -name ‘srm‘ #表示当前目录下查找文件名开头是字符串‘srm’的文件
按照文件特征查找
find / -amin -10 # 查找在系统中最后10分钟访问的文件(access time)
find / -atime -2 # 查找在系统中最后48小时访问的文件
find / -empty # 查找在系统中为空的文件或者文件夹
find / -group cat # 查找在系统中属于 group为cat的文件
find / -mmin -5 # 查找在系统中最后5分钟里修改过的文件(modify time)
find / -mtime -1 #查找在系统中最后24小时里修改过的文件
find / -user fred #查找在系统中属于fred这个用户的文件
find / -size +10000c #查找出大于10000000字节的文件(c:字节,w:双字,k:KB,M:MB,G:GB)
find / -size -1000k #查找出小于1000KB的文件
查看文件
查看文件内容的命令:
cat 由第一行开始显示内容,并将所有内容输出 (之前公司用的比较多)
tac 从最后一行倒序显示内容,并将所有内容输出
more 根据窗口大小,一页一页的现实文件内容
less 和more类似,但其优点可以往前翻页,而且进行可以搜索字符
head 只显示头几行
tail 只显示最后几行 (之前公司用的比较多)
nl 类似于cat -n,显示时输出行号
tailf 类似于tail -f
查看命令下一步其实就是编辑,但是编辑命令涉及比较多,参考文章:Linux文件编辑命令vi详细说明
1.cat 与 tac
cat的功能是将文件从第一行开始连续的将内容输出在屏幕上。但是cat并不常用,原因是当文件大,行数比较多时,屏幕无法全部容下时,只能看到一部分内容。
cat语法:cat [-n] 文件名 (-n : 显示时,连行号一起输出)
tac的功能是将文件从最后一行开始倒过来将内容数据输出到屏幕上。我们可以发现,tac实际上是cat反过来写。这个命令也不常用。
tac语法:tac 文件名。
2.more和less(常用)
more的功能是将文件从第一行开始,根据输出窗口的大小,适当的输出文件内容。当一页无法全部输出时,可以用“回车键”向下翻行,用“空格键”向下翻页。退出查看页面,请按“q”键。另外,more还可以配合管道符“|”(pipe)使用,例如:ls -al | more
more的语法:more 文件名
Enter 向下n行,需要定义,默认为1行;
Ctrl f 向下滚动一屏;
空格键 向下滚动一屏;
Ctrl b 返回上一屏;
= 输出当前行的行号;
:f 输出文件名和当前行的行号;
v 调用vi编辑器;
! 命令 调用Shell,并执行命令;
q 退出more
less的功能和more相似,但是使用more无法向前翻页,只能向后翻。
less可以使用【pageup】和【pagedown】键进行前翻页和后翻页,这样看起来更方便。
less的语法:less 文件名
less还有一个功能,可以在文件中进行搜索你想找的内容,假设你想在passwd文件中查找有没有weblogic字符串,那么你可以这样来做:
[root@redhat etc]# less passwd
然后输入:
/weblogic
回车
此时如果有weblogic字符串,linux会把该字符已高亮方式显示。
退出查看页面,请按“q”键。
3.head和tail
head和tail通常使用在只需要读取文件的前几行或者后几行的情况下使用。head的功能是显示文件的前几行内容
head的语法:head [n number] 文件名 (number 显示行数)
tail的功能恰好和head相反,只显示最后几行内容
tail的语法:tail [-n number] 文件名
4.nl
nl的功能和cat -n一样,同样是从第一行输出全部内容,并且把行号显示出来
nl的语法:nl 文件名
5.tailf
tailf命令几乎等同于tail -f,严格说来应该与tail --follow=name更相似些。当文件改名之后它也能继续跟踪,特别适合于日志文件的跟踪(follow the growth of a log file)。与tail -f不同的是,如果文件不增长,它不会去访问磁盘文件(It is similar to tail -f but does not access the file when it is not growing. This has the side effect of not updating the access time for the file, so a filesystem flush does not occur periodically when no log activity is happening.)。tailf特别适合那些便携机上跟踪日志文件,因为它能省电,因为减少了磁盘访问嘛(tailf is extremely useful for monitoring log files on a laptop when logging is infrequent and the user desires that the hard disk spin down to conserve battery life.)。tailf命令不是个脚本,而是一个用C代码编译后的二进制执行文件,某些Linux安装之后没有这个命令,本文提供了怎么编译安装tailf命令的方法。
文件编辑命令vi详细说明
1、引言
相信有很多程序员朋友,在长时间不操作linux系统或者初学linux命令时,都有跟我有一样的疑惑。
这个vim命令与vi命令有什么区别?不都是编辑器么?
2、vi命令与vim命令
其实,很好理解:
首先来说它们两者的共同点:都是文本编辑器。
接下来是它们两者的不同点:
【 vi编辑器】:vi是所有Unix及Linux系统下标准的编辑器,他就相当于windows系统中的记事本一样,
它的强大不逊色于任何最新的文本编辑器。他是我们使用Linux系统不能缺少的工具。
【 vim编辑器】:vim可以当作vi的升级版本,vim最大的特点是具有程序编辑的能力,可以以字体颜色
辨别语法的正确性,方便程序设计。vim里面加入了很多额外的功能,例如支持正则表
达式的搜索、多文件编辑、块复制等等。
综上所述:
由于vi编辑器对于Unix及Linux系统的任何版本,vi编辑器都是完全相同的,
所以,我们只需学会vi编辑器,您将在Linux的世界里畅行无阻。
3、vi命令使用
vi基本上可以分为三种模式,分别是一般模式、编辑模式和命令行模式,各模式的功能区分如下:
①、一般模式:
当以vi打开一个文件就直接进入一般模式了(这是默认的模式)。在这个模式中,你可以使用
上下左右按键来移动光标,你可以使用删除字符或删除整行来处理文件内容,也可以使用
复制、粘贴来处理你的文件数据。
②、编辑模式:
在一般模式中可以进行删除、复制、粘贴等的操作,但是却无法编辑文件的内容,只有当到
你按下【i, I, o,O, a, A, r, R】等任何一个字母之后才会进入编辑模式。这时候屏幕的左下方
会出现【INSERT或 REPLACE】的字样,此时才可以进行编辑。而如果要回到一般模式时,
则必须要按下【Esc】即可退出编辑模式。
③、命令行模式:
输入【 : / ? 】三个中的任何一个,就可以将光标移动到最底下那一行。在这个模式中,可以
提供查找、读取、存盘、替换字符、离开vi、显示行号等的动作则是在此模式中完成的。
此为概念的理解以及讲解。下面为命令的讲解。
3.1一般模式
a.移动光标
h:控制光标左移一格
j :控制光标下移一格
k:控制光标上移一格
l :控制光标右移一格
ctrl+b:屏幕往后移动一页
ctrl+f :屏幕往前移动一页
ctrl+u:屏幕往后移动半页
ctrl+d:屏幕往前移动半页
0 :移到文章的开头
G:移动到文章的最后
$ :移动到光标所在行的行尾
^ :移动到光标所在行的行首
w:光标跳到下个字的开头
e :光标跳到下个字的字尾
b :光标回到上个字的开头
#l:光标移到该行的第#个位置,如:5l,56l
b.删除文字
x: 每按一次,删除光标所在位置的"后面"一个字符
#x: 例如,「6x」表示删除光标所在位置的"后面"6个字符
X: 大写X,每按一次,删除光标所在位置的"前面"一个字符
#X: 例如,「20X」表示删除光标所在位置的"前面"20个字符
dd: 删除光标所在行
#dd:从光标所在行开始删除#行
c.复制
yw: 将光标所在之处到字尾的字符复制到缓冲区中
#yw:复制#个字到缓冲区 yy:复制光标所在行到缓冲区
#yy: 例如,「6yy」表示拷贝从光标所在的该行"往下数"6行文字
p: 将缓冲区内的字符贴到光标所在位置;
注意:所有与"y"有关的复制命令都必须与"p"配合才能完成复制与粘贴功能
d.替换
r :替换光标所在处的字符。
R:替换光标所到之处的字符,直到按下「ESC」键为止
e.跳至指定的行
ctrl+g:列出光标所在行的行号
#G:例如,「15G」,表示移动光标至文章的第15行行首
f.更改
cw: 更改光标所在处的字到字尾处
c#w:例如,「c3w」表示更改3个字
g.恢复上一次操作
u:如果您误执行一个命令,可以马上按下「u」,回到上一个操作;
按多次"u"可以执行多次回复
3.2编辑模式(重点)
a.进入编辑模式
i : 从目前光标所在处插入
I : 在目前所在行的第一个非空格符处开始插入
a: 从目前光标所在的下一个字符处开始插入
A: 从光标所在行的最后一个字符处开始插入
o :在目前光标所在的下一行处插入新的一行
O:在目前光标所在处的上一行插入新的一行
r : 只会取代光标所在的那一个字符一次
R:会一直取代光标所在的文字,直到按下 ESC 为止
Esc:退出编辑模式,回到一般模式
3.3命令行模式
注意:如在编辑模式,需按下【Esc】退出编辑模式,回到一般模式
a.进入命令行模式 (指令前带 ":",再敲指令前先敲 ":" )
:w : 保存编辑的内容
:w! :强制写入该文件,但跟你对该文件的权限有关
:q : 离开vi
:q! : 不想保存修改强制离开
:wq :保存后离开
:x : 保存后离开
ZZ :若文件没有更动,则不保存离开,若文件已经被更改过,则保存后离开
:w filename :将编辑的数据保存成另一个文件(类似另存)
:r filename : 在编辑的数据中,读入另一个文件的数据。
即将【filename】 这个文件的内容加到光标所在行后面
:n1,n2 w filename :将n1到n2的内容保存成filename这个文件
:! command :暂时离开vi 到命令行模式下执行command的显示结果;
例如 【:! ls /home】即可在 vi 当中察看/home底下以ls输出的文件信息
:set nu :显示行号
:set nonu :与 set nu 相反,为取消行
b.查找(指令前带 ":",再敲指令前先敲 ":" )
/xxx: 向光标向下寻找一个名称为xxx的字符串
?xxx:向光标向上寻找一个名称为xxx的字符串
n:代表重复前一个查找的动作
N:与n刚好相反,为【反向】进行行前一个查找动作
:n1,n2s/xxx/yyy/g:n1与n2为数字,在第n1与n2行之间查找xxx这个字符串,
并将该字符串替换为yyy
:1,$s/xxx/yyy/g: 从第一行到最后一行查找xxx字符串,并将该字符串替换为yyy
:1,$s/xxx/yyy/gc:从第一行到最后一行查找xxx字符串,并将该字符串替换为yyy,
且在替换前提示用户确认是否进行替换