LINUX 命令
1.如何获取帮助
(1)命令名 --help 显示一个简略的命令帮助
(2)man 命令名 显示对应命令系统的帮助手册
(3)info 命令名 显示指定命令的帮助信息
2.history
快速重复执行上一条命令
有 4 种方法可以重复执行上一条命令:
(1) 使用上方向键,并回车执行。
(2)按 !! 并回车执行。
(3)输入 !-1 并回车执行。
(4)按 Ctrl+P 并回车执行。
从命令历史中执行一个指定的命令
在下面的例子中,如果你想重复执行第 4 条命令,那么可以执行 !4
3.linux 下编辑器
VIM技巧
在整个文件内的替换操作:%s/old/new/g
利用如下命令查看文件格式
:set ff 或 :set fileformat
可以看到如下信息
fileformat=dos 或 fileformat=unix
利用如下命令修改文件格式
:set ff=unix 或 :set fileformat=unix
编辑已经打开的vim 先KILL Vim进程 然后删除.****.swap文件
sed实现直接修改文件内容
sed是非交互式的编辑器。它不会修改文件,除非使用shell重定向来保存结果。默认情况下,所有的输出行都被打印到屏幕上。
如果要将操作写入文件只需要一个 -i 参数就可以了。
比如,我想替换文件中的 properties 为 property ,可以使用
sed 's/properties/property/g' build.xml
这种方式,其实并没有修改build.xml文件的内容。如果想保存修改,通常的做法就需要重定向到另外的一个文件
sed 's/properties/property/g' build.xml > build.xml.tmp
这样,build.xml.tmp文件就是修改后的文件.
如果无误,那么就可以用
mv build.xml.tmp build.xml
覆盖原文件。
如果想直接修改源文件,而没有这样的过程,可以用下面的命令
sed -i 's/properties/property/g' build.xml
参数d用于删除输入行。sed先将输入行从文件复制到模式空间里,然后对该行执行sed命令,最后将模式空间里的内容显示在屏幕上。如果发出的是命令d,当前模式空间里的输入行会被删除,不被显示。
diff比较命令
diff 命令是 linux上非常重要的工具,用于比较文件的内容,特别是比较两个版本不同的文件以找到改动的地方。diff在命令行中打印每一个行的改动。最新版本的diff还支持二进制文件。diff程序的输出被称为补丁 (patch),因为Linux系统中还有一个patch程序,可以根据diff的输出将a.c的文件内容更新为b.c。diff是svn、cvs、git等版本控制工具不可或缺的一部分。
1.命令格式:
diff[参数][文件1或目录1][文件2或目录2]
2.命令功能:
diff命令能比较单个文件或者目录内容。如果指定比较的是文件,则只有当输入为文本文件时才有效。以逐行的方式,比较文本文件的异同处。如果指定比较的是目录的的时候,diff 命令会比较两个目录下名字相同的文本文件。列出不同的二进制文件、公共子目录和只在一个目录出现的文件。
grep 命令使用
grep 是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。
-i :忽略大小写的不同,所以大小写视为相同
-n :顺便输出行号
-v :反向选择,亦即显示出没有 '搜寻字符串' 内容的那一行!
-C 行数:检索出关键字上下文信息
4.监控各个进程的内存情况
shift + m (输入大写M,按占用内存大小排序),效果如下
5.Linux下的复制命令
功能: 复制文件或目录
说明: cp指令用于复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到此目录中。若同时指定多个文件或目录,而最后的目的地并非一个已存在的目录,则会出现错误信息
参数:
-a 或 --archive 此参数的效果和同时指定"-dpR"参数相同
-p 或 --preserve 保留源文件或目录的属性,包括所有者、所属组、权限与时间
-r 递归处理,将指定目录下的文件与子目录一并处理。若源文件或目录的形态,不属于目录或符号链接,则一律视为普通文件处理
使用-R参数后可以复制文件或文件夹,不加-R参数只能复制文件。
Linux 的mv命令
1.作用
mv命令来为文件或目录改名或将文件由一个目录移入另一个目录中。该命令等同于DOS系统下的ren和move命令的组合。它的使用权限是所有用户。
2.格式
mv [options] 源文件或目录 目标文件或目录
3.应用实例
(1)将/usr/udt中的所有文件移到当前目录(用”.”表示)中:
$ mv /usr/udt/* .
(2)将文件test.txt重命名为wbk.txt:
$ mv test.txt wbk.txt
linux系统中scp命令的用法
scp是linux系统下基于ssh登陆进行安全的远程文件拷贝命令。linux的scp命令可以在linux服务器之间复制文件和目录.
scp命令的用处:
scp在网络上不同的主机之间复制文件,它使用ssh安全协议传输数据,具有和ssh一样的验证机制,从而安全的远程拷贝文件。
scp命令基本格式:
scp命令的参数说明:
-p 保留原文件的修改时间,访问时间和访问权限。
-r
递归复制整个目录。
rsync命令用法
使用rsync可以在两台机器之间备份和同步文件,且rsync只传输发生变化的文件,能有效节省时间。
如下可同步本地个人目录到远程主机上:
| rsync -zvrtopgl --delete /home/user/ root@192.168.1.100:/home/user/ |
同步后的文件与本地文件保持一致,也即只会修改远程主机上的文件。
如果想要把远程主机上的文件同步到本地机器,则:
| rsync -zvrtopgl --delete root@192.168.1.100:/home/user/ /home/user/ |
同步后的文件与远程主机保持一致,也即只会修改本地机器上的文件。
如果ssh的端口不在默认端口上,则 -e 'ssh -p 端口'
常用rsync命令参数解释
-v, --verbose :详细模式输出。
-z, --compress :对备份的文件在传输时进行压缩处理。
-r, --recursive :遍历所有的子目录进行处理。
-t, --times :保持文件的时间信息。
-o :保持文件的属主信息。
-p, --perms :保持文件的权限。
-g :保持文件的属组信息。
-l, --links :在目标目录中重建软链接
--delete :删除源目录中不存在的文件。
6.进程与线程
进程是程序执行时的一个实例,即它是程序已经执行到课中程度的数据结构的汇集。从内核的观点看,进程的目的就是担当分配系统资源(CPU时间、内存等)的基本单位。
线程是进程的一个执行流,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。一个进程由几个线程组成(拥有很多相对独立的执行流的用户程序共享应用程序的大部分数据结构),线程与同属一个进程的其他的线程共享进程所拥有的全部资源。
"进程——资源分配的最小单位,线程——程序执行的最小单位"
如何查看进程下的所有线程?
查看所有子进程:
# pstree -p 6648
agent_executor(6648)─┬─tar(15601)───gzip(15607)
├─{agent_executor}(6650)
├─{agent_executor}(14214)
├─{agent_executor}(14216)
├─{agent_executor}(15374)
├─{agent_executor}(15376)
├─{agent_executor}(15378)
├─{agent_executor}(15380)
├─{agent_executor}(15392)
├─{agent_executor}(15394)
└─{agent_executor}(15398)
7.查看端口是否开启
netstat -ntplu |grep 8080
8.查看磁盘或文件容量
df命令查看所有磁盘空间使用率
[root@CT1190 log]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/sda7 19G 871M 18G 5% /
/dev/sda9 195G 89G 96G 49% /opt
/dev/sda8 4.8G 557M 4.0G 13% /var
/dev/sda6 19G 1.9G 17G 11% /usr
/dev/sda3 965M 24M 892M 3% /boot
tmpfs 16G 0 16G 0% /dev/shm
du命令用于显示某目录下各子目录或文件所占用的磁盘空间,默认是显示当前目录。
[root@zj121 test.com]# du -sh /data/server/
1.9G /data/server/
du -ah 显示目录中所有文件的大小
9.nohup命令
nohup命令可以将程序以忽略挂起信号的方式运行起来,被运行的程序的输出信息将不会显示到终端。
命令用法:
nohup<程序名>&
无论是否将 nohup 命令的输出重定向到终端,输出都将附加到当前目录的 nohup.out 文件中。
使用nohup命令后,原程序的的标准输出被自动改向到当前目录下的nohup.out文件,起到了log的作用,实现了完整的守护进程功能。
For example:
如何远程启动WebLogic服务?
用telnet远程控制服务器,远程启动WEBLOGIC服务,启动后关闭telnet,WebLogic服务也跟着停止,这是因为使用telnet启动的进程会随着telnet进程的关闭而关闭。所以我们可以使用一些UNIX下的命令来做到不关闭。
使用如下命令:
nohup startWeblogic.sh&
如果想要监控标准输出可以使用:
tail -f nohup.out