您的位置:首页 > 运维架构 > Linux

linux常用命令

2016-07-28 20:27 501 查看


查看MD5值

md5sum filename

window下用certutil -hashfile filename MD5

树形显示dirname目录结构

treedirname

树形显示,显示深度为2

tree -L 2
dirname

查看linux版本

lsb_release -a

-bash-4.1$ lsb_release -a

LSB Version: :base-4.0-amd64:base-4.0-noarch:core-4.0-amd64:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-noarch

Distributor ID: CentOS

Description: CentOS release 6.7 (Final)

Release: 6.7

Codename: Final

cat /proc/version



得到:
Linux version
2.6.32-573.18.1.el6.toav2.x86_64 (root@localhost.localdomain) (gcc version 4.4.7 20120313 (Red Hat 4.4.7-16) (GCC) ) #1 SMP Sun Jul 17 12:44:29 CST
2016

查看硬件信息
内存:free -m
硬盘:df -h
cpu: lscpu 或 cat /proc/cpuinfo
显卡:nvidia-smi

vim相关
1 跳转到第250行

命令模式输入250gg, 或者:250回车
2 删除第20~30行
命令模式输入 20,30d
3从当前行开始删除10行
 10dd
4 在10~20 行首添加 # 号注释
:10,20 s/^/#/g

:10,$ s/^/#/g 第10行到最后一行

4.1 在所有行中把from替换为to
:%s/from/to/g
:%s/^ef4.*[0-9].*|//g 支持正则,把行首为 ef4*一个数字*| 的字符替换为空。
vim正则表达式:http://tanqisen.github.io/blog/2013/01/13/vim-search-replace-regex/

5 复制粘贴vim打开的特定文本
    按住ctrl,用光标选定一些行,y,光标移动到需要复制的地方,p
6 查看正在编辑的文件名
:ls
7 调到首行和尾行
命令模式下gg 首行,G尾行
8 块操作
ctrl+v进入“可视块”模式,光标选取要操作的文本块,按d删除文本块,
删除空行:
:g/^$/d
:g/patten/cmd 按行找到patten,然后按cmd操作该行

删除查找到的所有文件:
find -name searcher.h|xargs rm
递归查找当前目录下的searcher.h文件,并且删除。 | xargs为管道传参 
find -name "*.cpp"|xargs grep "extern \""
递归查找当前目录下的*.cpp文件,并且在找到的cpp文件中寻找 extern "。
find -regex "^.*step-[0-9][0-9][04268]000-align\.png"

按照正则表达式查找包含 “step2个数字一个偶数000-align.png”的文件
find . -name ".svn" -type d
递归查找当前目录(find后面直接跟查找目录,再跟-name一类的参数)下的 .svn目录
 find -iname "*.png" -o -iname "*.bmp"
查找png文件 或者bmp文件,且不区分大小写。 -iname 不区分大小写, -o 逻辑或

查看本机ip:
hostname -i
查看历史命令:
history
查看目录占用磁盘大小 du(disk use)
du
du -a 查看目录及文件占用大小
du -m -a 以M
byte为单位显示所有文件大小
du -h --max-depth=2 以查看当前目录下个目录的大小,递归查看的目录层级设为2

查看磁盘使用情况:
df -h
查看文件的头部尾部100行,查看文件行数
head -n 100
dataprocess.sql
tail -n 100
dataprocess.sql
wc -l dataprocess.sql
定时刷新查看文件,比如tail用tailf、head用headf

tailf -n 100 dataprocess.sql
tail -f 1 train.log 每隔1s中显示一下
train.log的内容。

命令帮助,如ps命令:
man ps
ps --help
跳转到上次的目录
cd -
远程拷贝文件,本地复制到远程 
scp
scp fileSrc remote_username@remote_ip: remote_folder
scp fileSrc remote_username@remote_ip:remoter_file  
远程到本机
scp huangzhiqiang03@168.182.44.20:beijing_dum.sql
hzq_dum.sql
远程机器168.182.44.20的huangzhiqiang03用户的主目录下有个文件hzq_dum.sql,把它转移到本地来。
scp -rp  huangzhiqiang03@168.182.44.20:/data1/hzq
./
把远程机器168.182.44.20的huangzhiqiang03用户的/data1/hzq目录拷贝到本机当前目录下,r表示递归,p表示备份模式。
如果不是默认的22端口(scp走的ssh端口,需要指定端口号 如8022端口号)
scp -r -P 8022 ef4_6k_files/ef4_6k hzq@10.91.40.132:/home/hzq/

ps
查看进程 process status
ps -u root 显示root用户启动的进程
ps -ef 显示所有进程,连同命令行
ps -ef|grep ssh 显示特定进程,如保函ssh名字的进程
ps aux 列出当前正在内存当中的程序
ps aux>ps001.txt 将ps aux的结果转存到文件ps001.txt中
重命名:
mv oldfile
newfile
获取linux下url形式的文件:
curl -O "http://195.188.28.57:8081/fileserver?method=getfile&hzqid=B1DAEBA416DAA0F6378A21B33D5"
建立多层目录:
mkdir -p process-center/hzq
删除output目录及内部所有内容,r表示递归删除,f表示强制删除,删除的时候不提示信息。
rm -r output
rm -rf framework   
压缩解压:
压缩:
tar -zcvf db.gz  /home/test/user/hzq/outdir/*.db
zip jcdw.zip .ttf*
zip -r cxl.zip ./* 
解压tar包特定文件:

tar -tvf df18_20k.tar|grep df18_20k.txt
-rw-r--r-- zhanghuisonach/10000
3147220 2016-10-17 17:29 df18_20k/prosodylabeling/df18_20k.txt

tar -xvf df18_20k.tar
df18_20k/prosodylabeling/df18_20k.txt
 将当前目录下的所有文件和文件夹全部压缩成cxl.zip文件,-r表示递归压缩子目录下所有文件
解压:
tar -zxvf processworker.tar.gz
tar -jxvf processworker.tar.bz2   
unzip jcdw.zip

显示详细文件信息
ls -l 或者用 ll
查找进程,进程信息中(执行路径、程序名称)包含”processworker_check“
按时间查看:
1) ls -lt 
时间最近的在前面
2) ls -ltr 时间从前到后
ps -ef|grep processworker_check

杀掉(-9强制)某个进程
kill 进程号
kill -9 进程号

文件上传到linux
rz       默认文本形式传输
rz -be   二进制传输
文件从linux到本地下载
sz 文件名

查找文件,在当前目录及其子目录下 名称包含860439的文件或目录:
find ./ -name "*860439*"

在当前目录及其子目录下的文件中查找vocoder字符串的
grep -r "vocoder"
搜索cpp文件并在搜索结果中查找vocoder字符串的
find -name "*.cpp"|xargs grep
"vocoder"

更多参考:http://blog.chinaunix.net/uid-25266990-id-199887.html

文件转码:iconv
在vim下用set fileencoding命令得到文件编码,用iconv将文件ef4.txt由latin1转码为utf-8形式到文件ef4_utf8.txt中
iconv -f latin1 -t utf-8 ef4.txt > ef4_utf8.txt

iconv -c -f utf-16le -t cp936 input/bug.txt > bug_gbk.txt (加-c忽略无效字符)

查看环境变量:
export
gdb查看core文件:
gdb exe core.67842
core.67842为core文件,exe为core对应的可执行文件
跟踪调试正在运行的进程 44179为进程号。
gdb exe 44179
拷贝目录:(output/output为原目录,hzq为目标目录)
cp -r output/output/ hzq/
拷贝目录加覆盖提示 h2的内容考入h1中:
 cp -ri h2/*
h1/
重定向输出 > ,文件尾部附加>>:
pg_dump -h120.199.54.43 -Upg
-p8900 jcdw_hzq -tpoi > dump_poi.sql
cat in.sh > in2.sh
./exe > output.txt
ps >> output.txt
下载文件到本地:
sed 字符串替换:
sed -i “s/bm201505221419551075775969_copy_rw/hzq/g” haidian.sql
在haidian.sql文件中进行字符串替换
grep原字符串
-rl ./|xargs sed -i "s/原字符串/新字符串/g"
在当前目录下的文件中进行字符串的查找替换
curl 为文件传输工具
curl -o a.html http://www.baidu.com 
http://www.baidu.com  抓取页面内容到一个文件中,下载百度主页并保存为 网页a.html
curl -O "http://142.118.28.57:8081/fileserver?method=getfile&hzqid=OOOOOXXXXXXFFFFFB33D5"
下载特定ip的特定文件
 
 
参考:http://www.cnblogs.com/gbyukg/p/3326825.html
linux 查看cpu、内存等信息:
查看文本文件
vim haidian.sql   ---slow
cat haidian.sql  从前显示,fast
tac haidian.sql 从后面显示,fast
head -n 20 haidian.sql 显示文件的前20行,fast
tail -n 20 haidian.sql 显示文件的后20行,fast
top
参考:http://www.cnblogs.com/Wen-Man/archive/2011/04/04/2373771.html
shell小脚本:
find

#!/bin/sh

str="*$1*"

find ./ -name $str

res=$(find ./ -name $str)

vim $res
./find 日志号
以前试的一些语法 http://user.qzone.qq.com/459125872/blog/1342751492
ldd 打印可执行文档依赖的共享库文件。
是glibc的一部分`
ldd multi_thread_test
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fb71ea11000)
libcrypto.so.10 => not found
libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007fb71e68e000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fb71e385000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fb71e16f000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fb71dda5000)
/lib64/ld-linux-x86-64.so.2 (0x0000564b3820d000)

查看一个进程的cpu、内存使用情况:
top -p 进程号



查看linux版本

cat /proc/version

得到:

Linux version 2.6.32-573.18.1.el6.toav2.x86_64 (root@localhost.localdomain) (gcc version 4.4.7 20120313 (Red Hat 4.4.7-16) (GCC) ) #1 SMP Sun Jul 17 12:44:29 CST 2016


vim相关

1 跳转到第250行

命令模式输入250gg, 或者:250回车

2 删除第20~30行

命令模式输入 20,30d

3从当前行开始删除10行

 10dd

4 在10~20 行首添加 # 号注释

:10,20 s/^/#/g

5 复制粘贴vim打开的特定文本

    按住ctrl,用光标选定一些行,y,光标移动到需要复制的地方,p

删除查找到的所有文件:

find -name searcher.h|xargs rm

递归查找当前目录下的searcher.h文件,并且删除。 | xargs为管道传参 

find -name searcher.h|xargs rm

递归查找当前目录下的searcher.h文件,并且删除。 | xargs为管道传参 
find . -name ".svn" -type d

递归查找当前目录下的 .svn目录
 

查看本机ip:

hostname -i

查看历史命令:

history

查看目录占用磁盘大小 du(disk use)

du

du -a 查看目录及文件占用大小

du -m -a 以M byte为单位显示所有文件大小

du -h --max-depth=2 以查看当前目录下个目录的大小,递归查看的目录层级设为2

查看磁盘使用情况:

df -h

查看文件的头部尾部100行,查看文件行数

head -n 100 dataprocess.sql

tail -n 100 dataprocess.sql

wc -l dataprocess.sql

命令帮助,如ps命令:

man ps

ps --help

跳转到上次的目录

cd -

远程拷贝文件,本地复制到远程 

scp

scp fileSrc remote_username@remote_ip: remote_folder

scp fileSrc remote_username@remote_ip:remoter_file  

远程到本机

scp huangzhiqiang03@168.182.44.20:beijing_dum.sql hzq_dum.sql

远程机器168.182.44.20的huangzhiqiang03用户的主目录下有个文件hzq_dum.sql,把它转移到本地来。
scp -rp  huangzhiqiang03@168.182.44.20:/data1/hzq
./

把远程机器168.182.44.20的huangzhiqiang03用户的/data1/hzq目录拷贝到本机当前目录下,r表示递归,p表示备份模式。

ps

查看进程 process status

ps -u root 显示root用户启动的进程

ps -ef 显示所有进程,连同命令行

ps -ef|grep ssh 显示特定进程,如保函ssh名字的进程

ps aux 列出当前正在内存当中的程序

ps aux>ps001.txt 将ps aux的结果转存到文件ps001.txt中

重命名:

mv oldfile newfile

获取linux下url形式的文件:

curl -O "http://195.188.28.57:8081/fileserver?method=getfile&hzqid=B1DAEBA416DAA0F6378A21B33D5"

建立多层目录:

mkdir -p process-center/hzq

删除output目录及内部所有内容,r表示递归删除,f表示强制删除,删除的时候不提示信息。

rm -r output

rm -rf framework   

压缩解压:

压缩:

tar -zcvf db.gz  /home/test/user/hzq/outdir/*.db

zip jcdw.zip .ttf*

zip -r cxl.zip ./* 

 

 将当前目录下的所有文件和文件夹全部压缩成cxl.zip文件,-r表示递归压缩子目录下所有文件

解压:

tar -zxvf processworker.tar.gz     

unzip jcdw.zip

显示详细文件信息

ls -l 或者用 ll

查找进程,进程信息中(执行路径、程序名称)包含”processworker_check“

按时间查看:

1) ls -lt  时间最近的在前面

2) ls -ltr 时间从前到后

ps -ef|grep processworker_check

杀掉(-9强制)某个进程

kill 进程号

kill -9 进程号

文件上传到linux

rz       默认文本形式传输

rz -be   二进制传输

文件从linux到本地下载

sz 文件名

查找文件,在当前目录及其子目录下 名称包含860439的文件或目录:

find ./ -name "*860439*"

查看环境变量:

export

gdb查看core文件:

gdb exe core.67842

core.67842为core文件,exe为core对应的可执行文件

跟踪调试正在运行的进程 44179为进程号。

gdb exe 44179

拷贝目录:(output/output为原目录,hzq为目标目录)

cp -r output/output/ hzq/

拷贝目录加覆盖提示 h2的内容考入h1中:

 cp -ri h2/* h1/

重定向输出 > ,文件尾部附加>>:

pg_dump -h120.199.54.43 -Upg -p8900 jcdw_hzq -tpoi > dump_poi.sql

cat in.sh > in2.sh

./exe > output.txt

ps >> output.txt

下载文件到本地:

sed 字符串替换:

sed -i “s/原字符串/新字符串/g” `grep 原字符串 -rl 所在目录`

sed -i “s/bm201505221419551075775969_copy_rw/hzq/g” haidian.sql

curl 为文件传输工具

curl -o a.html http://www.baidu.com  从http://www.baidu.com  抓取页面内容到一个文件中,下载百度主页并保存为
网页a.html

curl -O "http://142.118.28.57:8081/fileserver?method=getfile&hzqid=OOOOOXXXXXXFFFFFB33D5"
下载特定ip的特定文件

参考:http://www.cnblogs.com/gbyukg/p/3326825.html

ldd 打印可执行文档以来的共享库文件。是glibc的一部分`

ldd multi_thread_test

    libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fb71ea11000)

    libcrypto.so.10 => not found

    libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007fb71e68e000)

    libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fb71e385000)

    libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fb71e16f000)

    libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fb71dda5000)

    /lib64/ld-linux-x86-64.so.2 (0x0000564b3820d000)

linux 查看cpu、内存等信息:

查看文本文件

vim haidian.sql   ---slow

cat haidian.sql  从前显示,fast

tac haidian.sql 从后面显示,fast

head -n 20 haidian.sql 显示文件的前20行,fast

tail -n 20 haidian.sql 显示文件的后20行,fast

top

参考:http://www.cnblogs.com/Wen-Man/archive/2011/04/04/2373771.html

shell小脚本:

find

./find 日志号

以前试的一些语法 http://user.qzone.qq.com/459125872/blog/1342751492

linux命令连接(以前)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: