1、将tgz文件解压到指定目录:

# tar zxvf test.tgz -C 指定目录
比如将 /lyl/test.tgz解压到 /lyl/linux 目录下
# tar zxvf /lyl/test.tgz -C /lyl/linux

2、删除正则匹配的文件

比如 home下面有我备份的文件压缩包(是按照每5分钟备份一次,文件名取日期加启动时间为名)

a_20100703174001.tar.gz
a_20100703174501.tar.gz
....
....
a_20100704013001.tar.gz
a_20100704013501.tar.gz

我想把a_20100703这个日期的所有备份文件删除掉!

这个a_20100704的保留

find . -name "a_20100703*" | xargs rm

3、xargs

将标准输入作为xargs后面命令的参数

4、grep:正则,从大量的文件中找出含有特定字符的文件。

http://c.biancheng.net/linux/grep.html

# 使用-l选项,从3个文件(.txt,.txt,.txt)中找到内容包含first的文件
[roc@roclinux ~]$ grep -l "first" *.txt
.txt

原来只有 1.txt 文件中包含有 first 单词。如果我想找出不含 first 单词的文件都有哪些,该如何操作呢?

[roc@roclinux ~]$ grep -L "first" *.txt
.txt
.txt

我们希望搜索/etc/passwd文件中开头是 leo 的行:

# ^表示行首
[root@roclinux ~]# grep '^leo' /etc/passwd
leo:x::::/home/leo:/bin/bash

我们希望搜索 /etc/passwd 文件中行尾是 bash 的行呢?

# $ 表示行尾
[root@roclinux ~]# grep 'bash$' /etc/passwd
root:x:::root:/root:/bin/bash
cloud-user:x::::/home/cloud-user:/bin/bash
test:x::::/home/test:/bin/bash
leo:x::::/home/leo:/bin/bash
roc:x::::/home/roc:/bin/bash

grep:快速搜索在目录下面的含有关键字的文件

cd directories
grep -r 关键字

grep搜索文件是否包含指定内容并返回文件名

第一种方法:使用grep,假设搜索所有的.cpp文件是否包含'open'字符串,如果包含了,则显示该文件,命令如下:

grep -rl 'open' . --include=*.cpp

则执行结果如下:

./test/testall/file.cpp
./test/testall/shell_test.cpp
./test/daemontest/main.cpp

但是有时候只显示文件名,也不知道出现的地方到底是什么样子的,如果还有顺带查看一下那一行的内容,可以用如下命令:

grep -rn 'open' . --include=*.cpp

则,执行结果如下:

./test/testall/file.cpp:270:    FILE *file = fopen(file_name.c_str(),"w");
./test/testall/file.cpp:273:            printf("Can't open the file\n");
./test/testall/shell_test.cpp:29:       FILE *file = fopen(file_name, "r");
./test/daemontest/main.cpp:53:  openlog("daemontest",LOG_PID,LOG_USER);

显示了文件名,行号以及该行内容。

第二种方法:使用find命令+grep

假设搜索所有的.cpp文件是否包含'open'字符串,如果包含了,则显示该文件,命令如下:

find -name '*.cpp' -exec grep -l 'open' {} \;

则结果如下:

./test/testall/file.cpp
./test/testall/shell_test.cpp
./test/daemontest/main.cpp

https://blog.csdn.net/linjcai/article/details/80875451

5、对比两个文件中内容的差别

可以用diff命令对比文档内容。
[语法]: diff [参数] 文件1 文件2
[说明]: 本命令比较两个文本文件,将不同的行列出来
-b 将一串空格或TAB 转换成一个空格或TAB
-e 生成一个编辑角本,作为ex 或ed 的输入可将文件1 转换成文件2
[例子]:
diff file1   file2
diff -b file1 file2
diff -e file1 file2 >edscript

diff 命令的常用参数

a 将所有文件当做文本文件来处理
b 忽略空格造成的不同
B 忽略空行造成的不同
q 只报告什么地方不同,不报告具体的不同信息
H 利用试探法加速对大文件的搜索
i 忽略大小写的变化
l 用pr对输出进行分页
r 在比较目录时比较所有的子目录
s 两个文件相同时才报告
v 在标准输出上输出版本信息并退出
ll -R > dir1.list
ll -R > dir2.list
提取两个列表,再用diff比较

6、wc命令用于计算字数

语法

wc [-clw][--help][--version][文件...]

参数

  • -c或--bytes或--chars 只显示Bytes数。
  • -l或--lines 只显示行数。
  • -w或--words 只显示字数。
  • --help 在线帮助。
  • --version 显示版本信息。
$ wc testfile           # testfile文件的统计信息
testfile # testfile文件的行数为3、单词数92、字节数598

7、nohup后台不中断执行脚本命令

执行./bash_file.sh脚本,

sudo nohup ./bash_file.sh &

查看bash_file.sh的进程运行状态

ps aux | fgrep bash_file.sh

8、进入和退出服务器

进入服务器:

ssh username@ip_address -p port

退出服务器:
ctrl+D

9、linux删除大文件的前n行

tail -n + old_file > new_file
mv new_file old_file
#这样就删除了前2行,速度要比sed命令快

10、linux 如何显示一个文件的某几行(中间几行)

1、从第3000行开始,显示1000行。即显示3000~3999行

cat filename | tail -n + | head -n 

2、显示1000行到3000行

cat filename| head -n  | tail -n +

注意两种方法的顺序

分解:

tail -n 1000:显示最后1000行

tail -n +1000:从1000行开始显示,显示1000行以后的

head -n 1000:显示前面1000行

3、用sed命令

sed -n '5,10p' filename        这样你就可以只查看文件的第5行到第10行。

4、随文件变化显示文件末尾几行

tail -f filename  

11、将数据追加到文件末尾:

echo -e 'a\t1' >> .txt
##-e表示开启转义符号,>>表示追加,如果用>表示写入。

12、让vim显示空格,及tab字符 vim 多行注释(转)

:set list显示tab键

13. Linux查找文件内容所在位置

http://blog.chinaunix.net/uid-25266990-id-199887.html

Linux查找文件内容的常用命令方法。

从文件内容查找匹配指定字符串的行:

$ grep "被查找的字符串" 文件名
例子:在当前目录里第一级文件夹中寻找包含指定字符串的.in文件
grep "thermcontact" */*.in

从文件内容查找与正则表达式匹配的行:
$ grep –e “正则表达式” 文件名

查找时不区分大小写:
$ grep –i "被查找的字符串" 文件名

查找匹配的行数:
$ grep -c "被查找的字符串" 文件名

从文件内容查找不匹配指定字符串的行:
$ grep –v "被查找的字符串" 文件名

从根目录开始查找所有扩展名为.log的文本文件,并找出包含”ERROR”的行
find / -type f -name "*.log" | xargs grep "ERROR"
例子:从当前目录开始查找所有扩展名为.in的文本文件,并找出包含”thermcontact”的行
find . -name "*.in" | xargs grep "thermcontact"

 

14.vim 查找文件某个字符串内容,采用 / 

1.按ESC

2、/“关键字” 回车

3、N(next)键

15. local关键字

http://blog.sina.com.cn/s/blog_6433391301013r3x.html

16. ROOT=${1:-abc}

${} 是bash中自带的字符串操作
上面的意思应该是 如果$1有值 那么将$1的值赋予root
否则将abc临时赋予$1 同时赋予root

17. 在bash中,$( )` `(反引号)都是用来作命令替换的。

命令替换与变量替换差不多,都是用来重组命令行的,先完成引号里的命令行,然后将其结果替换出来,再重组成新的命令行。

18.Linux shell if [ -n ] 正确使用方法

https://blog.csdn.net/haogexiaole/article/details/83472890

if [ str1 = str2 ]       当两个串有相同内容、长度时为真 
if [ str1 != str2 ]      当串str1和str2不等时为真 
if [ -n str1 ]       当串的长度大于0时为真(串非空) 
if [ -z str1 ]        当串的长度为0时为真(空串) 
if [ str1 ]         当串str1为非空时为真

linux 下shell中if的“-e,-d,-f”的用法

文件表达式
-e filename 如果 filename存在,则为真
-d filename 如果 filename为目录,则为真 
-f filename 如果 filename为常规文件,则为真
-L filename 如果 filename为符号链接,则为真
-r filename 如果 filename可读,则为真 
-w filename 如果 filename可写,则为真 
-x filename 如果 filename可执行,则为真
-s filename 如果文件长度不为0,则为真
-h filename 如果文件是软链接,则为真
filename1 -nt filename2 如果 filename1比 filename2新,则为真。
filename1 -ot filename2 如果 filename1比 filename2旧,则为真。

19、电脑硬件环境查看

1、查看CPU信息(型号)

1.1 查看CPU个数

# cat /proc/cpuinfo | grep "physical id" | uniq | wc -l

2 **uniq命令:删除重复行;wc –l命令:统计行数**

1.2 查看CPU核数

# cat /proc/cpuinfo | grep "cpu cores" | uniq
cpu cores : 4

1.3 查看CPU型号

# cat /proc/cpuinfo | grep 'model name' |uniq
model name : Intel(R) Xeon(R) CPU E5630 @ 2.53GHz

总结:该服务器有2个4核CPU,型号Intel(R) Xeon(R) CPU E5630 @ 2.53GHz

2 查看内存

2.1 查看内存总数

#cat /proc/meminfo | grep MemTotal
MemTotal: 32941268 kB //内存32G

https://www.cnblogs.com/li-shuai/p/11076727.html

Linux(1)---常用命令的更多相关文章

  1. Linux GDB常用命令一栏

    Linux GDB 常用命令如下: 1.启动和退出gdb (1)启动:gdb ***:显示一段版权说明: (*** 表示可执行程序名) (2)退出:quit.有的时候输入quit后会出现相关提示:类似 ...

  2. Linux 下常用命令

    linux 下常用命令: 1.删除文件命令为 rm 2.创建目录的命令是:mkdir 3.删除目录的命令是rmdir(空目录) 4.切换到root帐号:su 5.查看所有进程:ps -aux 6.杀死 ...

  3. linux 服务器常用命令整理

    linux 服务器常用命令整理 目录 网络分析 - tcpdump \ telnet \ (netstat \ ss \ lsof) \ nload 网络传输 - scp \ rsync \ (rz ...

  4. 计算机硬件基本知识及Linux的常用命令

    ------------------1. 计算机硬件基本知识------------------ CPU - 寄存器 - L1/L2/L3 - 内存 - 硬盘 - 互联网下载/其他存储介质传输 寄存器 ...

  5. 一、Linux概述 二、Linux的安装 三、Linux的常用命令(重点)

    一.Linux概述###<1>操作系统 OS,管理和控制 计算机的 硬件和软件资源的 计算机程序. 最基本的系统软件. 是用户和计算机交互的桥梁,是硬件和软件交互的桥梁. 操作系统:she ...

  6. Linux帮助——常用命令

    Linux帮助——常用命令 摘要:本文主要学习了Linux系统中常用的一些命令. uname命令 uname命令可以显示电脑以及操作系统的相关信息. 基本语法 uname [选项] 选项说明 -a:显 ...

  7. Linux虚拟机常用命令

    参考原文链接:(https://blog.csdn.net/fanyun_01/article/details/51083585) 一.Linux虚拟机常用命令 # virsh list //查看已打 ...

  8. [转帖]Linux systemd 常用命令

    Linux systemd 常用命令 https://www.cnblogs.com/tsdxdx/p/7288490.html systemctl hostnamectl timedatectl l ...

  9. Linux系统管理常用命令

    Linux系统管理常用命令 分类: Linux2011-01-10 18:26 1538人阅读 评论(0) 收藏 举报 linuxcommandservicenginxuserunix 目录(?)[+ ...

  10. Linux + NodeJS 常用命令

    Linux系统常用命令 1.su 由当前用户切换至root用户: 2. su username 切换至某一用户: 3.chmod u+w /etc/sudoers 为/etc/sudoers文件添加写 ...

随机推荐

  1. vue的计算属性get和set

    1.计算属性是用来存储数据,但具有以下几个特点: a.数据可以进行逻辑处理操作. b.对计算属性中的数据进行监视. 2.计算属性和普通属性的区别: a.计算属性是基于它的依赖进行更新的,只有在相关依赖 ...

  2. jQuery元素属性操作

    在jQuery中,用attr()方法来获取或者设置元素属性,removeAttr()方法用来删除元素属性. attr() 实例: var $para=$('p');//获取<p>节点 va ...

  3. Disconf入门指南(1)

    Disconf简介 参考: https://github.com/knightliao/disconf/wiki/TutorialSummary 在一个分布式环境中,同类型的服务往往会部署很多实例.这 ...

  4. vue 2.0 购物车小球抛物线

    备注:此项目模仿 饿了吗.我用的是最新的Vue, 视频上的一些写法已经被废弃了. 布局代码 <div class="ball-container"> <trans ...

  5. Python hangman小游戏

    hangman # words.py 使用pickle永久性存储数据 import pickle filename = 'words.pk' data = ['cat', 'dog', 'perro' ...

  6. android 异常解决方案汇总

    1)异常:Android中引入第三方Jar包的方法(java.lang.NoClassDefFoundError解决办法) 1.在工程下新建lib文件夹,将需要的第三方包拷贝进来. 2.将引用的第三方 ...

  7. Ubuntu中的Docker搭建Tensorflow环境

    一.docker环境安装 1)更新.安装依赖包 sudo apt-get update sudo apt-get install apt-transport-https ca-certificates ...

  8. 【hiho一下第二周 】Trie树

    [题目链接]:http://hihocoder.com/problemset/problem/1014 [题意] [题解] 在字典树的域里面加一个信息cnt; 表示这个节点下面,记录有多少个单词; 在 ...

  9. Android使用C代码

    Android调用C代码 1.开发工具:Android studio 2.0 2.开发前准备: 2. 3. 4.下面我们就来开发我们的程序吧, [1]创建一个java类 package com.adm ...

  10. 查看eclipse的安装路径

    在桌面上快捷方式右键  点击属性  起始位置便是.