linux基础入门(一)

2 篇文章 0 订阅
1 篇文章 0 订阅

一、快捷键

(AE  BF   PN)
1.历史命令的查找
  history
  往回查找:ctrl+P
	往后查找:ctrl+N
2.光标移动
  ctrl+B  往前移
  ctrl+f 
	ctrl+a  光标移动行首
  ctrl+e  光标移动行尾

二、目录结构

目录
/boot系统启动相关的文件,如内核、initrd,以及grub(BootLoader)
/etc配置文件
/home用户的家目录,每一个用户的家目录通常默认为/home/USERNAME
/root管理员的家目录
/lib库文件静态库:单在程序中的库,其他程序不能使用该库文件动态库:在内存中,任何用到该库的程序都可以使用/lib/modules:内核模块文件
/media挂载点目录,移动设备(在windows中,插入一张光盘,系统会自动读取光盘,用户可以直接执行,但在linux中,插入光盘后需要在挂载点挂载这个设备之后才可以使用这个设备。)
/mnt挂载点目录,额外的临时文件系统
/opt可选目录,第三方程序的安装目录
/proc伪文件系统,内核映射文件
/sys伪文件系统,跟硬件设备相关的属性映射文件
/tmp临时文件,/var/tmp
/var可变化的文件,经常发生变化的文件
/bin可执行文件,用户命令;其中用到的库文件可能在/lib,配置文件可能在/etc
/sbin可执行文件,管理命令;其中用到的库文件可能在/lib,配置文件可能在/etc
/usr只读文件,shared read-only/usr/local:第三方软件

三、文件及目录管理

whatis
info
man
which
whichis

--------------
统计当前目录下文件个数
find ./ | wc -l

在家目录下有一个.bashrc 文件可以自定义命令
alias lsl = 'ls -lrt'


ls文件会有一个编号
ls | cat -n


find 实时查找
locate 不是实时查找,速度较快

比较两个文件异同
diff 文件1,文件2

使用egrep 查询文件内容
egrep content 文件

ln cc ccAgain :硬连接;删除一个,将仍能找到;
ln -s cc ccTo :符号链接(软链接);删除源,另一个无法使用;(后面一个ccTo 为新建的文件)


ls /proc && echo  suss! || echo failed.
等同于
if ls /proc; then echo suss; else echo fail; fi

0:表示键盘输入
1:表示屏幕输出
2:表示错误输出
将标准错误stderr与stdout一同显示出来
./test.sh > test2.log 2>&1
ls  proc/*.c > list 2> &l 将标准输出和标准错误重定向到同一文件;

bash 快捷键
Ctl-U   删除光标到行首的所有字符,在某些设置下,删除全行
Ctl-W   删除当前光标到前边的最近一个空格之间的字符
Ctl-H   backspace,删除光标前边的字符
Ctl-R   匹配最相近的一个文件,然后输出

查找record.log中包含AAA,但不包含BBB的记录的总数:
cat -v record.log | grep AAA | grep -v BBB | wc -l

四、文本处理

查找txt和pdf文件:
find . \( -name "*.txt" -o -name "*.pdf" \) -print

否定参数 ,查找所有非txt文本:
find . ! -name "*.txt" -print
  
列出所有目录
find . -type d -print
  
所以,可以用以下命令组合来实现查找本地目录下的所有二进制文件:
ls -lrt | awk '{print $9}'|xargs file|grep  ELF| awk '{print $1}'|tr -d ':'
  
最近第7天被访问过的所有文件:
find . -atime 7 -type f -print
  
最近7天内被访问过的所有文件:
find . -atime -7 -type f -print
  
查询7天前被访问过的所有文件:
find . -atime +7 type f -print
  
w字 k M G 寻找大于2k的文件:
find . -type f -size +2k
  
删除当前目录下所有的swp文件:
find . -type f -name "*.swp" -delete
-------------------------------------
在多级目录中对文本递归搜索(程序员搜代码的最爱):
grep "class" . -R -n
匹配多个模式:
grep -e "class" -e "vitural" file
              
-------------------------------------
file 内容作为一行输出
cat file.txt| xargs
single 内容作为三行输出
cat single.txt | xargs -n 3
--------------------------------------
sort 排序
字段说明
-n 按数字进行排序 VS -d 按字典序进行排序
-r 逆序排序
-k N 指定按第N列排序
示例:
sort -nrk 1 data.txt
sort -bd data // 忽略像空格之类的前导空白字符
---------------------------------------
uniq 消除重复行
消除重复行
sort unsort.txt | uniq
统计各行在文件中出现的次数
sort unsort.txt | uniq -c
找出重复行
sort unsort.txt | uniq -d

五、磁盘管理

查看磁盘空间利用大小:
df -h
查看当前目录所占空间大小:
du -sh
查看当前目录下所有子文件夹排序后的大小:
for i in `ls`; do du -sh $i; done | sort
或者:
du -sh `ls` | sort
  
查看磁盘空间 df -h
查看目录大小 du -sh
打包 tar -cvf
解包 tar -xvf
压缩 gzip
解压缩 gunzip bzip

六、进程管理工具

eg:查询进程名中含有re的进程
pgrep -l re
ps -ef | grep re
ps -ajx
ps -aux

  
查看端口占用的进程状态:
lsof -i:3306
查看用户username的进程所打开的文件
$lsof -u username
---------------------
使用命令pmap,来输出进程内存的状况,可以用来分析线程堆栈;
$pmap PID
----------------------
$top
(->)P
输入top命令后,进入到交互界面;接着输入字符命令后显示相应的进程状态:
对于进程,平时我们最常想知道的就是哪些进程占用CPU最多,占用内存最多。以下两个命令就可以满足要求:
P:根据CPU使用百分比大小进行排序。
M:根据驻留内存大小进行排序。
i:使top不显示任何闲置或者僵死进程。

七、性能监控

sar 命令
yum install -y sysstat
监控cpu
查看CPU使用率
sar -u 1 2
后面的两个参数表示监控的频率,比如例子中的12,表示每秒采样一次,总共采样2次
查看CPU平均负载
$sar -q 1 2

查看内存
$sar -r 1 2

vmstat

八、网路工具

列出所有端口 (包括监听和未监听的):
netstat -a
列出所有 tcp 端口:
netstat -at
列出所有有监听的服务状态:
netstat -l

netstat -antp

netstat -tunlp

lsof -op pid
  
-----------
查看路由状态:
$route -n
发送ping包到地址IP:
$ping IP
探测前往地址IP的路由路径:
$traceroute IP
DNS查询,寻找域名domain对应的IP:
$host domain
反向DNS查询:
$host IP

九、系统管理

查看Linux系统版本:
uname -a
查看Unix系统版本:操作系统版本:
$more /etc/release

查询CPU信息:
$cat /proc/cpuinfo
查看CPU的核的个数:
$cat /proc/cpuinfo | grep processor | wc -l
查看内存信息:
$cat /proc/meminfo
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值