linux:常用基本命令
----------------------------------------------------
vi下快速复制
1)单行复制
在命令模式下,将光标移动到将要复制的行处,按“yy”进行复制;
2)多行复制
在命令模式下,将光标移动到将要复制的首行处,按“nyy”复制n行;其中n为1、2、3……
2、粘贴
在命令模式下,将光标移动到将要粘贴的行处,按“p”进行粘贴
----------------------------------------------------
MV重命名文件夹
mv 源目录 ./新目录名
mv /usr/lib/* /zone
是将 /usr/lib/下所有的东西移到/zone/中。
mv /usr/lib/*.txt /zone
是将lib下以txt结尾的所有文件移到/zone中。 其他类型,以此类推。
----------------------------------------------------
通过关键字查询日志文件:
tac catalina.out |grep 关键字 |more
----------------------------------------------------
解压和压缩:
----------------------------------------------------
创建软链接:
ln -s aa.t link_test.txt //-s代表软链接
注意是后边路径指向前边的路径!
vi一下显示的是aa.t的内容:
删除此软链接后,则源文件不会被删除。
创建硬链接:
ln bb.t yinglianjie.tt
删除此硬链接后,则源文件不会被删除。
----------------------------------------------------
mkdir创建多级目录:
mkdir -p /usr/local/1111/222/3333
参数:-p 确保目录名称存在,如果目录不存在的就新创建一个。
----------------------------------------------------
head命令
head 用来显示档案的开头至标准输出中,默认head命令打印其相应文件的开头10行。
head -n 5 test1.log 显示文件前5行
head test1.log 显示文件前10行
----------------------------------------------------
快读查找之前用过的命令
ctrl+r 然后输入 关键字,然后右箭头或回车
----------------------------------------------------
脚本传参
vim test1.sh
脚本内编写:
echo "hello $1 and $2"
赋予执行权限:chmod +x ./test1.sh
执行:./test1.sh a b
----------------------------------------------------
crontab 定时任务
查看所有定时器任务
crontab -l
添加定时器任务
crontab -e
基本格式 :
* * * * * command
分 时 日 月 周 命令
// 每分钟执行一次
* * * * *
// 每隔一小时执行一次
00 * * * * * */1 * * * (/表示频率)
// 每小时的15和45分各执行一次
15,45 * * * * (,表示并列)
// 在每天上午 8- 11时中间每小时 15 ,45分各执行一次
15,45 8-11 * * * command (-表示范围)
// 每个星期一的上午8点到11点的第3和第15分钟执行
3,15 8-11 * * 1 command
// 每隔两天的上午8点到11点的第3和第15分钟执行
3,15 8-11 */2 * * command
----------------------------------------------------
cp命令:
拷贝目录:cp -r 目录1 目录2
----------------------------------------------------
机器间拷贝命令:
scp -r apache-tomcat-7.0.65/ was@10.245.1.73:/was 如果不写后面的路径,默认制定到/home路径
scp -r ./elasticsearch-2.2.1/ sxt@node08:`pwd` pwd代表一样的目录路径
----------------------------------------------------
移动命令:
实例一:文件改名
mv test.log test1.txt
实例二:将test1.txt文件移到目录test3中
mv test1.txt test3
将文件log1.txt,log2.txt,log3.txt移动到目录test3中。
实例三:
mv log1.txt log2.txt log3.txt test3 命令将log1.txt ,log2.txt, log3.txt 三个文件移到 test3目录中去
mv -t /opt/soft/test/test4/ log1.txt log2.txt log3.txt 命令又将三个文件移动到test4目录中去
命令:
mv log1.txt log2.txt log3.txt test3
mv -t /opt/soft/test/test4/ log1.txt log2.txt log3.txt
实例四:将文件file1改名为file2,如果file2已经存在,则询问是否覆盖
mv -i log1.txt log2.txt
实例五:将文件file1改名为file2,即使file2存在,也是直接覆盖掉。
mv -f log3.txt log2.txt
----------------------------------------------------
退出命令:
ZQ 无条件退出
:q! 无条件退出
ZZ 存盘并退出
:wq 存盘并退出
----------------------------------------------------
ps命令:
如:ps -ef | grep java
(1)查看service服务使用哪个端口启动的
ps -ef | grep bo-server-service-beta.jar
然后:
netstat -nap | grep 13638
----------------------------------------------------
kill命令:
(1)杀死一个进程:
如:kill -9 8080
(2)如何同时kill掉多个进程
方法一:
比如有3个hive进程,我们要一次性杀死这3个,执行
ps -ef | grep hive | grep -v grep | cut -c 9-15 | xargs kill -9
ps -ef | grep hive | grep -v grep |awk '{print$2}' | xargs kill -9
未找到是因为没过滤grep的,没添加这句:grep -v grep
第一个命令讲解:ps -ef | grep hive | grep -v grep | cut -c 9-15 | xargs kill -9 管道符“|”用来隔开两个命令,管道符左边命令的输出会作为管道符右边命令的输入。下面说说用管道符联接起来的 几个命令: “ ps - ef”是Red Hat 里查看所有进程的命令。这时检索出的进程将作为下一条命令“grep LOCAL=NO”的输入。 “grep LOCAL=NO”的输出结果是,所有含有关键字“LOCAL=NO”的进程,这是Oracle数据库中远程连接进程的共同特点。 “grep -v grep”是在列出的进程中去除含有关键字“grep”的进程。 “cut -c 9-15”是截取输入行的第9个字符到第15个字符,而这正好是进程号PID。 “xargs kill -9”中的xargs命令是用来把前面命令的输出结果(PID)作为“kill -9”命令的参数,并执行该令。 “kill -9”会强行杀掉指定进程,这样就成功清除了oracle的所有远程连接进程。其它类似的任务,只需要修改“grep hive”中的关键字hive就可以了。 第二个命令讲解;ps -ef | grep hive | grep -v grep |awk '{print$2}' | xargs kill -9
|
----------------------------------------------------
vim 中相关命令:
1.u 撤销 回退操作:
(1) 如果你编辑错了或改错某个文件:先按左上角ESC,再按 u 撤销到上一步的操作,你这次编辑的东西全没了
(2) 基于(1)此时按Ctrl+r 恢复上一步被撤销的操作
(3)用“U”恢复行,如果你这个文件本次改了两行,那恢复你改动的最后一行
2.快速跳转
(1)快速跳转到第一行::0或:1或 gg(连续按两次键盘键g) 跳到文件第一行
(2)快速跳转到末尾行::$ 或shift+g 跳到文件最后一行
(3)w 快速跳到下一个单词的首字符
(4)e 快速跳到下一个单词的尾字符
(5) shift + 6 快速移动光标至行首(不可小键盘)
(6)shift + 4 快速移动光标至行尾
(7)
(8)
(9)
3.快速翻页
(1)向前滚动一页:Ctrl+b
(2)向后滚动一页:Ctrl+f
(3)向前滚动半页 :Ctrl+u
(4)向后滚动半页:Ctrl+d
4.查找命令
/word搜索词 这个是查找文件中“word”这个单词,是从文件上面到下面查找 如 /hello
?word搜索词 这个是查找文件中“word”这个单词,是从文件下上面到面查找
查找下一个:小n向后查找,大N向前查找
5.vim查看模式下的花式删除
x-删除光标所在字符
dd-删除光标所在行
先输入 2 再按dd 则删除两行
长按d 则一直删除,一次删一行
dw 一次删一个单词
其他快捷命令:
yy 复制一行
先输入3再按 yy 则复制3行
p粘贴
先按2 再按p 则粘贴了两次。
ZZ 保存文件内容
O在光标上一行进行插入
o 在光标下一行进行插入
----------------------------------------------------
tail命令:
1.实时监控文件,
(1)比如tomct日志文件:tail -f logs/catalina.out
(2) 打印出之前10行:tail -10f logs/catalina.out
----------------------------------------------------
find 查找文件命令:
(1)find 搜索目录 -name 目标名字
如:find /opt -name zoo.cfg
(2)查找名字符合正则表达式的文件,注意前面的‘.*’(查找到的文件带有目录)
find ./ -regex .*so.*\.gz
如下 so 通过过滤 过滤到 /opt/softwares目录下,这个可以自己指定。
(3) 模糊查找
如:find / -name read\* //最后那个斜杠为转义字符
find /opt -name *.log
可以用-iname不区分大小写
查找权限为777的文件或目录(需完全符合)
find /opt -perm 777
查找文件size大于10M的文件或目录
find /opt -size +100M
查找文件size小于10个字节的文件或目录
find /opt -size -10c
查找文件size等于4个字节的文件或目录
find ./ -size 4c
(3)find命令是可以多个选项一起添加查询的
-a 是前后条件都要满足
-o 是满足一个条件就好
例如刚刚的文件查找,60分钟内被修改的文件,并且文件名字包含conf的,我们可以这样写
find /etc -cmin -60 -a -name *conf
这样我们可以清除的看到被过滤掉的文件
----------------------------------------------------
rm 删除命令:
删除一个目录中的一个或多个文件或目录,如果没有使用- r选项,则rm不会删除目录。如果使用 rm 来删除文件,通常仍可以将该文件恢复原状。
-f, --force 忽略不存在的文件,从不给出提示。
-i, --interactive 进行交互式删除
-r, -R, --recursive 指示rm将参数中列出的全部目录和子目录均递归地删除。
-v, --verbose 详细显示进行的步骤
例子:
rm 文件名 删除文件file,系统会先询问是否删除。
rm -f log1.log 强行删除file,系统不再提示。
rm -i *.log 删除任何.log文件,删除前逐一询问确认。
rm -r test1 或 rm -rf test1 将 test1子目录及子目录中所有档案删除。
----------------------------------------------------
touch命令:
linux下touch有两个作用。
touch命令主要是用于新建一个不存在的文件或者是对于文件的时间戳进行修改;
(1)touch -c change1.txt 然后ll 未找到此文件 如下图(忽略打码处)
(2)使用touch指令对于文件的时间戳进行修改;
touch -a aaaa.tt对于文件的存取时间进行修改;
touch -d 是使用自己已知的时间去修改文件的时间;
touch -d 2015-12-1 9:00:01 aaaa.tt
----------------------------------------------------
echo命令:
1.输入一行文本并显示在标准输出上
2.输出一个声明的变量值
3.echo可以使用重定向符来输出到一个文件而不是标准输出
echo "Test Page" > testpage
4.
覆盖型写法 (文件里原来的内容被覆盖)
echo "aaa" > a.txt
echo aaa > a.txt
添加型写法 (新内容添加在原来内容的后面)
echo "aaa" >> a.txt
echo aaa >> a.txt
----------------------------------------------------
cat 命令:
cat命令是linux下的一个文本输出命令,通常是用于观看某个文件的内容的;
cat主要有三大功能:
1.一次显示整个文件。
$ cat filename
2.从键盘创建一个文件。
$ cat > filename
只能创建新文件,不能编辑已有文件.
3.将几个文件合并为一个文件。
$cat file1 file2 > file
cat具体命令格式为 : cat [-AbeEnstTuv] [--help] [--version] fileName
说明:把档案串连接后传到基本输出(屏幕或加 > fileName 到另一个档案)
参数:
-n 或 –number 由 1 开始对所有输出的行数编号
-b 或 –number-nonblank 和 -n 相似,只不过对于空白行不编号
-s 或 –squeeze-blank 当遇到有连续两行以上的空白行,就代换为一行的空白行
-v 或 –show-nonprinting
范例:
cat -n linuxfile1 > linuxfile2 把 linuxfile1 的档案内容加上行号后输入 linuxfile2 这个档案里
cat -b linuxfile1 linuxfile2 >> linuxfile3 把 linuxfile1 和 linuxfile2 的档案内容加上行号(空白行不加)之后将内容附加到linuxfile3 里。
简单描述一下几种常见的使用方式及其作用:
1、cat<<EOF,以EOF输入字符为标准输入结束:EOF只是标识,不是固定的,可以用其他字母代替。
2、cat>filename,创建文件,并把标准输入输出到filename文件中,以ctrl+d作为输入结束:
注意:输入时是没有'>'的。
3、cat>filename<<EOF,以EOF作为输入结束,和ctrl+d的作用一样:
----------------------------------------------------
nohup命令:
nohup java -jar gporder-onestop-rpc-service-1.0.0.jar >gporder-onestop-rpc-service-1.0.0.log &
将gporder-onestop-rpc-service-1.0.0.jar包启动运行后,日志输出到gporder-onestop-rpc-service-1.0.0.log,同时&符号代表后台启动。
如果你正在运行一个进程,而且你觉得在退出帐户时该进程还不会结束,那么可以使用nohup命令。该命令可以在你退出帐户/关闭终端之后继续运行相应的进程。nohup就是不挂起的意思( no hang up)。
该命令的一般形式为:nohup command &
使用nohup命令提交作业
如果使用nohup命令提交作业,那么在缺省情况下该作业的所有输出都被重定向到一个名为nohup.out的文件中,除非另外指定了输出文件:
nohup command > myout.file 2>&1 &
在上面的例子中,输出被重定向到myout.file文件中。
使用 jobs 查看任务。
使用 fg %n 关闭。
----------------------------------------------------
wc命令
wc [-clw][--help][--version][文件...]
[root@pf-bdata1 tag]# wc TestHive.scala BusinyTrend.scala
125 265 3579 TestHive.scala //# TestHive文件的行数为125、单词数256、字节数3579
132 364 5486 BusiyTrend.scala
257 629 9065 total //总量
[root@pf-bdata1 tag]#