Linux(1)---常用命令
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)---常用命令的更多相关文章
- Linux GDB常用命令一栏
Linux GDB 常用命令如下: 1.启动和退出gdb (1)启动:gdb ***:显示一段版权说明: (*** 表示可执行程序名) (2)退出:quit.有的时候输入quit后会出现相关提示:类似 ...
- Linux 下常用命令
linux 下常用命令: 1.删除文件命令为 rm 2.创建目录的命令是:mkdir 3.删除目录的命令是rmdir(空目录) 4.切换到root帐号:su 5.查看所有进程:ps -aux 6.杀死 ...
- linux 服务器常用命令整理
linux 服务器常用命令整理 目录 网络分析 - tcpdump \ telnet \ (netstat \ ss \ lsof) \ nload 网络传输 - scp \ rsync \ (rz ...
- 计算机硬件基本知识及Linux的常用命令
------------------1. 计算机硬件基本知识------------------ CPU - 寄存器 - L1/L2/L3 - 内存 - 硬盘 - 互联网下载/其他存储介质传输 寄存器 ...
- 一、Linux概述 二、Linux的安装 三、Linux的常用命令(重点)
一.Linux概述###<1>操作系统 OS,管理和控制 计算机的 硬件和软件资源的 计算机程序. 最基本的系统软件. 是用户和计算机交互的桥梁,是硬件和软件交互的桥梁. 操作系统:she ...
- Linux帮助——常用命令
Linux帮助——常用命令 摘要:本文主要学习了Linux系统中常用的一些命令. uname命令 uname命令可以显示电脑以及操作系统的相关信息. 基本语法 uname [选项] 选项说明 -a:显 ...
- Linux虚拟机常用命令
参考原文链接:(https://blog.csdn.net/fanyun_01/article/details/51083585) 一.Linux虚拟机常用命令 # virsh list //查看已打 ...
- [转帖]Linux systemd 常用命令
Linux systemd 常用命令 https://www.cnblogs.com/tsdxdx/p/7288490.html systemctl hostnamectl timedatectl l ...
- Linux系统管理常用命令
Linux系统管理常用命令 分类: Linux2011-01-10 18:26 1538人阅读 评论(0) 收藏 举报 linuxcommandservicenginxuserunix 目录(?)[+ ...
- Linux + NodeJS 常用命令
Linux系统常用命令 1.su 由当前用户切换至root用户: 2. su username 切换至某一用户: 3.chmod u+w /etc/sudoers 为/etc/sudoers文件添加写 ...
随机推荐
- vue的计算属性get和set
1.计算属性是用来存储数据,但具有以下几个特点: a.数据可以进行逻辑处理操作. b.对计算属性中的数据进行监视. 2.计算属性和普通属性的区别: a.计算属性是基于它的依赖进行更新的,只有在相关依赖 ...
- jQuery元素属性操作
在jQuery中,用attr()方法来获取或者设置元素属性,removeAttr()方法用来删除元素属性. attr() 实例: var $para=$('p');//获取<p>节点 va ...
- Disconf入门指南(1)
Disconf简介 参考: https://github.com/knightliao/disconf/wiki/TutorialSummary 在一个分布式环境中,同类型的服务往往会部署很多实例.这 ...
- vue 2.0 购物车小球抛物线
备注:此项目模仿 饿了吗.我用的是最新的Vue, 视频上的一些写法已经被废弃了. 布局代码 <div class="ball-container"> <trans ...
- Python hangman小游戏
hangman # words.py 使用pickle永久性存储数据 import pickle filename = 'words.pk' data = ['cat', 'dog', 'perro' ...
- android 异常解决方案汇总
1)异常:Android中引入第三方Jar包的方法(java.lang.NoClassDefFoundError解决办法) 1.在工程下新建lib文件夹,将需要的第三方包拷贝进来. 2.将引用的第三方 ...
- Ubuntu中的Docker搭建Tensorflow环境
一.docker环境安装 1)更新.安装依赖包 sudo apt-get update sudo apt-get install apt-transport-https ca-certificates ...
- 【hiho一下第二周 】Trie树
[题目链接]:http://hihocoder.com/problemset/problem/1014 [题意] [题解] 在字典树的域里面加一个信息cnt; 表示这个节点下面,记录有多少个单词; 在 ...
- Android使用C代码
Android调用C代码 1.开发工具:Android studio 2.0 2.开发前准备: 2. 3. 4.下面我们就来开发我们的程序吧, [1]创建一个java类 package com.adm ...
- 查看eclipse的安装路径
在桌面上快捷方式右键 点击属性 起始位置便是.