Linux下的常用命令

来源:互联网 发布:android指南针源码 编辑:程序博客网 时间:2024/05/17 16:55

一、文件
1、cp (复制文件或者目录)
(1)将源文件目录下的所有文件复制到指定目录:cp -r ../exec .
这里写图片描述
(2)源文件必须存在,如果不存在,系统会报错:cp ../eee .
这里写图片描述
(3)将源文件直接复制到目标文件中,并可以为复制的文件重命名:
cp ../exec/main.cpp a.cpp
这里写图片描述
2、rm(删除文件或者目录)
(1)删除一个文件:rm a.cpp
这里写图片描述
(2)删除一个空目录:rm -r dd
这里写图片描述
(3)删除文件下的所有文件:rm -rf *
这里写图片描述
3、mv(剪切命令)
(1)将文件剪切到指定的目录下:mv ./exec/main.cpp .
这里写图片描述
(2)移动多个文件到指定目录:mv ./exec/a.txt ./exec/b.txt .

(3)移动目录到指定目录下,也可以进行重命名:mv ../exec ./ee
4、vi
vi filename //打开或者创建文件并将光标置于第一行
vi 文件名 打开文件或者新建文件
a 在光标后插入文本的命令
i 在光标后插入文本的命令
退出编辑模式
q 退出文本编辑器
q! 强制退出文本编译器
wq 保存退出
!wq 强制退出并保存修改内容
set nu 加行号
set nonu 去行号
nyy 拷贝n行
ndd 剪切n行
p 粘贴
ndd删除n行
u撤销
5、在屏幕上显示文件内容
more filename 查看文件内容(每次显示固定行)
cat filename 查看文件内容(一次性显示完)
6、查看文件
(1)查看文件前n行:head -n filename
(2)查看文件后n行:tail -n filename
7、查找匹配的文件
(1)查找当前目录下所有以a开头的文件:find a*
(2)查找系统中最后十分钟访问的文件:find / -mmin -10
8、sed—–>文件处理工具,源文件保持不变
sed是一种在线编译器,它一次只处理一行内容,处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”,接着用sed命令处理临时缓冲区中的内容,处理完成后,将处理后的内容,送往屏幕。接着处理下一行,知道文件末尾,一般情况下,文件的内容不会改变,除非重定向输出。sed主要用来编辑一个或者多个文件,,简化对文件的反复操作。
(1)将文件中的每一行第一个出现的book替换成books,源文件不变;
这里写图片描述
这里写图片描述
(2)删除文件中的空白行
这里写图片描述
(3)删除文件中的第二行
这里写图片描述
(4)源文件编辑以后,写入另外一个文件,源文件不变;
* 将文件的第二行到第34行删除,并重定向到文件
sed ‘2,34d’ passwd > file
* 在文件第三行后面添加一行hello,并重定向到文件a.txt;
sed ‘3a\hello’ file > a.txt
* 打印出2-4行,并重定向到文件file中:
sed ‘2,4p’ passwd > file
9、awk——>文本分析工具(对文本和数据进行处理的)
(1)显示最近登录的5个账户
这里写图片描述
(2)显示/etc/passwd的账户
这里写图片描述
10、grep
在/etc/passwd下的有root的行提取出来
这里写图片描述
二、目录
cd 切换目录
pwd 显示当前路径
mkdir 创建目录
rmdir 删除目录
三、进程
1、ps -ef
列出运行态的所有进程
2、kill PID
终止一个进程
3、pkill 进程名
杀死运行的进程和当前的进程
4、jobs
查看当前系统下的后台运行程序的运行状态
5、top
实时输出各个进程的CPU利用率,及其其它详细信息
四、管理
useradd username 添加新用户
userdel username 删除用户
passwd name 修改用户密码
su username 切换用户
cat etc/passwd 查看所有用户信息
shutdown -r now (root用户下,进行重启)
shutdown -h now (root用户下,进行关机)
init 0 关机
init 1 切换单用户模式(无界面)
init 2 切换多用户,不联网
init 3 切换多用户
init 5 切换到有界面的多用户
init 6 重启
reboot 重新启动
halt 关机
五、网络
1、tcpdump 网络抓包工具
2、lsof 列出当前系统打开的文件描述符的工具
3、strace 是一个跟踪命令,当程序运行起来,可以调用此跟踪命令看函数调用了哪些系统调用
4、netstat
-n IP地址和端口号
-a 显示结果中也包含监听socket
-t 仅显示TCP连接
-r 显示路由信息
-i 显示网卡接口的数据流量
-c 每隔一秒输出一次
-o 显示socket定时器的信息
-p 显示socket所属的进程的PID和名字
netstat -natp //显示端口占用的状态
5、vmstat 实时输出系统的各种资源的使用情况,比如进程信息、内存信息、CPU使用率以及IO使用情况
-f 显示系统自启动以来执行的fork的次数
。。。。。。
6、ifstat 网络流量监测的工具
7、mpstat 实时监测多处理器系统上的每个CPU的使用情况
六、gdb调试命令
L 显示程序
b +行号 加断点
info breaks 查看断点信息
r 运行程序
p +变量名 查看变量的值
n 单步执行
c 使程序直接运行到下一个断点处
s 进入函数
finish 跳出当前的函数
bt 查看函数堆栈信息
q 退出gdb调试
利用gdb生成core文件,进行错误信息的定位
gcc -o yi yi.c -g
查看当前的core的大小
ulimit -c
设置core文件的大小
ulimit -c 4096
生成core文件
ls
gdb core.6911
确认错误信息
ltrace ./yi //列出用到的库函数
strace ./yi //列出使用的系统调用
七、make(执行makefile文件)
makefile文件的作用:管理工程,保存了所有源文件的关系
八、nm
列出目标文件中的各种符号
九、修改文件权限 chmod
u创建者 g主用户 o其他用户
r读权限4 w写权限2 x执行权限1
chmod u+x file 给该文件的创建者加可执行权限
chomd 0666 file 将文件的权限改为创建者/主用户/其他用户可读可写
原创粉丝点击