Linux 命令学习
比较常用的命令:
cat more less head tail 查看文件 vi 编辑文件 grep find locate 查找
cp rm mv touch mkdir 文件操作 useradd userdel groupadd groupdel passwd
chmod chown chgrp usermod chattr
ls cd pwd ln mount umount 目录 ps top kill 进程
sudo tar 压缩解压 ifconfig ping netstat 网络 reboot
date cal df du lsblk fsdisk awk cut sort sed tree wc uniq
history echo > >> scp
1.grep
查询当前目录及子目录下文件中包含的关键字
eg:
或者:
这个是在当前目录及子目录下的所有.c文件中查找包含“videoplayer_close”关键字的行
eg:
或者
可以使用多个--include
标志。
grep -r --include=*.html --include=*.php --include=*.htm "pattern" /some/path/
或者
grep -r --include=*.{html,php,htm} "pattern" /some/path/
grep -s 去掉 no such file or directory
用grep -rn "xxxx" ./ 搜索, 有时候出现大量的 no such file or directory
grep -rn -s "xxxx" ./ 就不会打印出烦人的no such file or directory 了
grep -w "xxxx" 整个单词匹配
2. 根据时间来创建文件或文件目录
eg:
备注:date使用反引号,date与+符号之间要用空隔
3. 查找符合条件的文件或文件夹 并删除
找到根目录下所有的以test开头的文件并把查找结果当做参数传给rm -rf命令进行删除:
1、find / -name “test*” |xargs rm -rf
2、find / -name “test*” -exec rm -rf {} \;
3、rm -rf $(find / -name “test”)
如果想指定递归深度,可以这样:
1、find / -maxdepth 3 -name “*.mp3” |xargs rm -rf
2、find / -maxdepth 3 -name “test*” -exec rm -rf {} \;
3、rm -rf $(find / -maxdepth 3 -name “test”)
这样只会查找三层目录中符合条件的文件并删除掉!
找出/var/log
下不是以.log
结尾的文件:
find /var/log/ -type f ! -name '*.log'
4.挂载 mount umount 来挂载磁盘分区(或存储设备)
设备 指存储设备,比如/dev/hda1, /dev/sda1 ,cdrom 等...至于您的系统中有哪些存储设备,
主要通过 fdisk -l 或者查看 /etc/fstab 或 dmesg ;一般的情况下光驱设备是/dev/cdrom ;
软驱设备是/dev/fd0 ;硬盘及移动硬盘以 fdisk -l 的输出为准;
(1) 自动挂载
挂载命令 : sudo mount /dev/sda1
有很多种方法可以看到
第一:查看/etc/fstab文件
命令:cat /etc/fstab
第二:df -Th可以看到挂载的信息
第三:mount可以看到你所要的信息
下面就会出现多有挂载信息,左边是源路径,右边是挂载到的位置。
(2) 挂载到指定位置
先建一个目录testdir,然后执行Linux mount挂载文件 命令,这样指定设备
就挂在 /mnt/testdir中了;我们就可以在/mnt/testdir中查看设备的资料和文件;
这个目录您想怎么建就怎么建。用什么目录不是最重要的。重要的是您知道自
己在做什么就行了。比如我们也可以把这个目录建成dvdrom ;然后用 Linux
mount挂载文件 /dev/cdrom /mnt/dvdrom 来挂载;
sudo mkdir -p /mnt/testdir
sudo mount /dev/sda1 /mnt/testdir