Linux命令常用命令行
一.常用命令行
1.cp 拷贝源文件或者目录到指定路径
a.将普通文件拷贝到指定的路径
sudo cp /mnt/hgfs/share/test.c /home/Ubuntu
b.将目录拷贝到指定的路径
sudo cp /mnt/hgfs/share/dir /home/ubuntu -a
c.实现备份的功能,将源文件备份一次
sudo cp test.c test_bak.c
d.实现备份的功能,将目录备份一次
sudo cp dir dir_bak -a
2.vi的查找命令
/string 查找字符串
-n 继续查找
-N 反向继续查找
-支持正则表达式 如: /^the /end$
3.vi的替换命令
利用:s命令可以实现字符串的替换
- 😒/str1/str2/
- 😒/str1/str2/g
- :.,$ s/str1/str2/g (从当前行到末尾进行字符替换)
- :1,$ s/str1/str2/g (从第一行到尾部进行字符替换)
- :%s/str1/str2/g (从第一行到尾部进行字符替换)
4.重启命令:
reboot
shutdown -r now 立刻重启(root用户使用)
shutdown -r 10 过10分钟自动重启(root用户使用)
shutdown -r 20:35 在时间为20:35时候重启(root用户使用)
如果是通过shutdown命令设置重启的话,可以用shutdown -c命令取消重启
5.关机命令:
halt 立刻关机
poweroff 立刻关机
shutdown -h now 立刻关机(root用户使用)
shutdown -h 10 10分钟后自动关机
如果是通过shutdown命令设置关机的话,可以用shutdown -c命令取消重启
6.ubuntu 重启网卡方法
查看网卡信息: ifconfig
设定一个网卡IP:ifconfig eth1 192.168.1.10 netmask 255.255.255.0
重启网卡使设定生效:sudo /etc/init.d/networking restart
7.系统启动辅助命令
ctrl + alt + F1-F6(任意一个键) 进入linux的命令界面
ctrl + alt + F7 切换回图形界面
8.grep 从文件中搜索字符串
格式:grep “搜索的字符串” 文件名
例如: 在/etc/passwd中查找“llp”
grep “llp” /etc/passwd
常用参数:(文件中的字符串)
a.搜索file文件中,以"string"开头的行
例如: grep “^string” file
b.搜索file文件中,以"string"结尾的行
例如: grep “string$” file
c.搜索file文件中,只包含“string”的行
例如:grep “^string$” file
d.在搜索文件的时候,同时显示行号
例如:grep “llp” -n /etc/passwd
习惯的用法:
e.在当前目录下所有的文件中搜索"main"(包括子目录)
grep “main” * -nR(R代表是递归)
9.find :在指定路径下搜索文件
常用:
1> find 路径 -name 文件名
例如:find /home -name test.c
2>. 当前目录查找文件
find / -name “*tomcat.txt” -maxdepth 1 -print //在当前目录中,查找包含tomcat.txt文件,-maxdepth 1表示查找深度为1
3>. 子目录查找文件
find / -name “*java.txt” -print //在当前目录及子目录中,查找包含java.txt文件
4>. 指定(排除)目录查找文件
find . -path “./code” -prune -o -name “.txt" -print //在当前目录除code之外的子目录内搜索 txt文件
find . (-path “./code” -o -path “./code2” ) -prune -o -name ".txt” -print //在当前目录及除code和code2之外的子目录中查找txt文件
10.head 显示文件开头的内容
a.查看/etc/passwd 文件开头10行
例如:head -10 /etc/passwd
11.tail 显示文件尾部指定的行数
例如:tail -1 /etc/passwd
练习:如何获得/etc/passwd中第34行的信息
head -34 /etc/passwd | tail -1
12.vim对比文件
vim test1.c test2.c -d
13.wc :统计 行数 单词的个数 字节数
例如:
a.txt
{
123
abc
789 ABCD
}
参数:
-l 显示一个文件的行数
-w 显示一个文件的单词个数
-c 显示一个文件的字
14.which 查找命令所在的路径
15.修改密码passwd
a.修改用户密码passwd
sudo passwd + 用户名
例如:sudo passwd ubuntu
16.su临时切换用户
例如:
a.切换到root用户
su + 回车
b.切换普通用户
su + 用户名
注:我们第一切换root用户的时候可能会提示密码错误,需要先执行下面的语句,再输入设置密码
sudo passwd root
17.du查看文件夹的大小
du -h --max-depth=1 filename
18.统计代码行数
find . “(” -name “" “)” -print | xargs wc -l
1.包括空行(会列出每个文件的代码行数):
find . “(” -name ".java” -or -name “.c" -or -name ".cpp” -or -name “.h" “)” -print | xargs wc -l
2.不包括空行(只会出现总行数):
find . “(” -name ".java” -or -name “.c" -or -name ".cpp” -or -name “*.h” “)” -print | xargs grep -v “^$” | wc -l
二.系统管理命令(ps和kill)
1.ps 显示当前系统中由该用户运行的进程列表
ps -ef 查看所有进程及其PID,系统时间,命令详细目录,执行者等。
ps -aux 除了可显示-ef所有内容外,还可显示CPU及内存占用率,进程状态。
2.patch 命令和diff配合使用,把生成的补丁文件应用到现有代码上
diff test1.c test2.c > test.patch
patch test1.c < test.patch
三.其他命令
1.调整虚拟机中ubuntu系统显示尺寸大小:
xrandr 查看屏幕分辨率的相关参数
xrandr -s 分辨率 设置显示的分辨率
2.查看运行当前可执行文件需要哪些动态库
ldd ffmpeg
3.hexdump 显示指定位置的,长度的信息
hexdump -s 0x100 -n 10 input.mp4
4.查找当前目录下所有包含Activity字符串的Java文件
find . -name “*.java” | xargs grep “MainActivity”
5.查找当前目录下子目录名称为res下的所有xml文件中的
status_bar_size地方
find -name find . -name res
“*.xml” | xargs grep status_bar_size
四.开发中使用的命令
1.关闭内核打印
echo 0 > /proc/sys/kernel/printk
2.重新挂载分区为可读可写分区
mount -o rw,remount /
3.捕获并导出某网卡的协议数据
tcpdump -i eth0 -w /data/test.pcap
4.局域网内scp传递数据
scp file.txt hostname@192.168.1.110:/home/ubuntu/
5.搜索当前目录下所有文件中包含此字符的信息
grep -nr “内容” ./
或者
find . -type f -name “.” | xargs grep “内容”
6.查看进程跑的线程优先级
ps -A -T -O NI | grep 进程号