linux各种命令归类简介

                        linux各种命令归类

1.文件
cp 拷贝命令 cp a.c b.c
rm 删除命令 -r删除目录
mv 剪切命令 mv a.c b.c
vi编辑命令
cat打印命令
tail查看文档尾部
awk功能较为复杂后跟正则表达    awk  -F":"  '{print $1}'  file(输出文件第一列(域),分割符是:,不加-F":"就是默认
空格分隔。printf每一行不加回车,print加回车。)
tar -zcvf  目标文件  原来文件   z压缩zip  cvf打包
find查找文件    find /home -name "*.txt"  找文件.txt后缀    find /home -iname "*.txt"忽略大小写
type查看可执行文件的类型以及外部类型可执行文件路径
type cd  看cd的内外类型
type -p gedit 查找外部命令gedit的路径
locate找可执行文件相关文件(并不是命名必须有关键字与find不同)
locate pwd 找pwd相关文件
locate /etc/sh 查找sh开头文件
whereis
whereis cd 查找可执行文件地点
which
which pwd 查找命令
grep  
  grep+“关键字”+文件名 搜索文件中关键字一行
  grep -v “关键字”+文件名 搜索文件中除关键字的其他行
  cat file.c|grep "a"
ls
  -A 所有文件包括隐藏文件
 -l文件详细属性
 -R递归显示文件
 -r逆序显示文件
echo  如同printf

2.管理
su管理员切换
(useradd a) 增加用户a
(userdel a) 删除用户a不能彻底删除要find相关文件  userdel -r a 是彻底删除
(passwd a) 设置a的密码
(chmod 777 a) 修改a文件的读写权限
(chown root a需要在管理员权限下使用)修改文件属主

3.进程
top进程系统资源情况   
ps(-f -ef -L线程)  
jobs(显示后台有多少命令) 
&(转到后台执行,一般在command最后)  
sh(shell的一种)   通常我们使用./main执行应用程序其实默认的是bash,如果我们要运行脚本程序可以 sh text.sh
nohup退出用户不挂起进程结合&使用    nohup sh a.sh &
bg % 第几个(通过jobs查出来的)  启动这个后台进程
fg % 第几个 后台放前台
crtl+z正在执行前台命令放到后台
文件重定位:
>重定位覆盖   >>追加到文件中   < 输入(1 <文件)
命令 >文件 2>&1 12输出都在这个里面(命令 &>文件)
crontab -e 修改用户crontab文件(文件分格式   分 时 日 月 年 命令)。-i查看这个文件
这个文件记录了定时启动周期性执行的工作(cron服务)。

4.网络
******lsof文件资源的使用情况********************
用户-》进程-》文件(普通,管道,端口)
     +资源
lsof 查看哪个进程使用文件lsof dev/passwd
-i(ip) @ip:port  显示被占用端口,不加端口名就全部显示  lsof -i @196.168.31.56:884
-t(target) 显示使用目标文件的进程,这个与lsof区别在于这个只返回pid没有详细信息
     +使用者
-u(user) 显示某个用户使用进程打开文件 lsof -u lch
-c(command) 显示命令打开文件  lsof -c bash 只是识别command的name可能有多个pid
-p(pid)进程打开那些文件 lsof -p 1
******nc(netcat)**********************
它可以迅速建立网络连接可以让他以服务器(客户端)方式运行来调试客户端(服务器)
******ping************************************
ping ip(域名)www.baidu.com   检查网络的链接情况
******telnet**********************************
由此可见,ping通常是用来检查网络是否通畅或者网络连接速度的命令。
而telnet是用来探测指定ip是否开放指定端口的
******netstat********************************
显示网络连接路由表等信息
-r路由信息  -a连接信息
*******ifstat************************
网络流量监测工具
*******ifconfig**********************
网络ip mac等信息
ifconfig      eth0网卡   addr:ip地址 Bcast:广播地址 lo显示的是回路ip
ifconfig eth0 (地址,协议)   可以开启eth0 up,让eth0配置一个ip地址
*******vmstat************************
cpu(-s),内存(-s),io,进程使用情况
*******mpstat************************
cup详细使用情况
*******free*************
内存使用情况
*******iostat***********************
io详细使用情况
*******tcpdump*****************
抓包工具

5.gdb调试
***************gcc & g++********************
gcc与g++区别
他们都可以编译.c和.cpp文件gcc与g++分别视.c文件为c与c++,而视cpp文件都为c++文件。
(原因在于gcc负责程序的编译过程,但是gcc无法连接c++库,因此,g++来负责c++的链接部分。对于c文件,g++会调用
gcc编译链接使用g++链接所以会视为c++文件,而gcc编译链接全程使用自己所以会当成c文件处理。对于.cpp文件gcc会
先使用自己编译但是无法连接必须交由g++链接因此还是看成一个c++文件,g++处理cpp先使用gcc在使用自己所以也会看成一个
c++文件)
*描述符调整 limit -n 查看用户可以打开最大描述符个数(该用户所有进程打开的描述符个数)还有一种是对系统限制的,就是所有用户打开
描述符个数的总和是有一个上限的。
/etc/security/limits.conf这个文件可以修改
hard nofile max-file-number  soft nofile max-file-number
*内核参数调整 
sysctl -a 查看所有的内核参数(他们都放在/proc/sys目录下,文件名就是参数名里面的内容就是参数值)
我们可以修改目录下的参数,但是这是临时的。
或者进入/etc/sysctl.conf文件加入参数和相应的值。在使用sysctl -p更新
eg:修改系统最大文件描述符
fs.file-max=max-file-number(前面是文件名字后面是参数)
****gdb调试工具*******
gdb main
l(line) 显示10行源代码
b+函数名|行号。   断点
info   查看一些标示信息,eg:info+b查看断点信息
p+变量  就是显示变量值
s逐过程 n逐语句
bt(backtrace)显示现处于哪个函数内部以及该函数参数
display+变量   在该函数中自动没执行一次都显示display后的变量值
info display可以产生序号 undisplay+序号  删除刚才display的变量
多进程---set follow-fork-mode child  attach+pid跟踪指定进程
多线程---info threads显示线程号id   thread+id切换线程

你可能感兴趣的:(linux)