Linux常用命令:
1、创建、删除和切换用户:
创建用户 : sudo adduser 用户名
删除用户 : sudo deluser 用户名 或 userdel 用户名 (ps:若在末尾加上 --remove-home则会将该用户的工作目录一并删除)
切换用户 :su -l 用户名
切换到root : sudo -s
加入用户组:groups 用户名
2、查看路径、文件夹、文件信息:
查看文件夹下的文件信息:ls -l
查看文件信息(包括权限、所有者、日期、名称等) :ls -alh 文件名
查看当前所处的路径 : pwd
路径回退操作:cd ..
回到home操作:cd ~
3、权限的变更:
授予sudo权限 : sudo usermod -G sudo 用户名
(补充一下:文件的权限 r、w、x分别对应读、写、执行。对应的二进制是111。所以r对应二进制100,w对应二进制010,x对应二进制001。因此rw对应110,也就是6。所以rw-rw-rw-相当于是对应十进制666。第1个对应文件拥有者的权限,第2个对应所属用户组的权限,第3个对应其他用户的权限。)
变更文件所有者 :(ps:要先进入到文件所在的目录,然后输入)sudo chown 新所有者 文件名
修改权限:chmod 权限 文件名 (ps:权限一般是3个0~7之间的数的组合,如:777,666,600。以600为例代表文件的所有者有rw的权限,其他用户没有任何权限。)
加减赋值操作:chmod 用户权限 文件名 (ps:用户种g代表group用户组,o代表others其他用户,u代表user用户。+代表增加权限,-代表减去权限。权限由r、w、x组成)
4、文件的基本操作:
4.1 创建
创建目录:mkdir mydir
创建文件 :touch 文件名
批量创建文件:touch file{数字..数字}.后缀
4.2 复制
复制文件到指定目录:cp 文件名 目录路径(如:cp test father/son/grandson 是将test)
将路径复制到新目录:cp -r 路径 新目录 ?
4.3 删除
删除文件:rm 文件名
强制删除文件:rm -f 文件名
删除目录:rm -r 目录名
强制删除目录:rm -rf 目录名
4.4 移动
移动文件 : mv 文件名 目的目录名
文件重命名 : mv 旧的文件名 新的文件名
4.5 查看
读文件内容:cat 文件名 (ps:cat -n 文件名 会显示行号)
cat重定向输入多行文本内容写入文件:
cat > 文件名 << EOF
> 文本内容
> EOF
4.6 写入
echo "写入内容" > 文件名
5、变量:
变量声明:declare 变量名
读取变量的值:echo $tmp
6、搜索文件:
whereis简单快速:
只能搜索二进制文件(-b),man 帮助文件(-m)和源代码文件(-s)。
查询语法:whereis 查询目标。
locate快而全:
它通过查询 /var/lib/mlocate/mlocate.db 数据库来检索信息。不过这个数据库也不是实时更新的,系统会使用定时任务每天自动执行 updatedb 命令来更新数据库。查询之前先输入:sudo apt-get update进行更新。
查询语法:locate 路径 文件(例如:locate /etc/sh 就是查找/etc下sh开头的文件)
which小而精:
它只从 PATH 环境变量指定的路径中去搜索命令并且返回第一个搜索到的结果。
find精而细:
find 应该是这几个命令中最强大的了,它不但可以通过文件类型、文件名进行查找而且可以根据文件的属性(如文件的时间戳,文件的权限等)进行搜索。
查询语法:sudo find 路径 -name 文件名
7、zip文件打包压缩与解压缩:
(补充说明:-r表示递归打包包含子目录的全部内容。-q表示为安静模式不向屏幕输出信息。-o表示输出文件在其后紧跟打包输出的文件名。-1~-9表示的是打包压缩的级别,9是最大级别代表压缩的文件最小。-x是排除了上一次创建的zip文件。)
文件压缩 打包成zip:zip -r -9 -q -o 打包后文件名.zip 目录 -x ~/*.zip (例子:zip -r -9 -q -o xmu.zip /home/xmu/Desktop -x ~/*.zip 表示将/home/xmu/Desktop的内容打包放入xmu.zip文件)
(补充说明:-h表示是以人类可读文字进行输出,-d表示查看文件的深度,| sort表示对文件大小进行排序后输出。)
查看zip压缩文件的大小:du -h -d 0 *.zip ~ | sort
(补充说明:-q表示的是安静模式不会输出解压的内容,-d代表解压到指定目录,-d后面紧跟目录名)
解压缩zip压缩包:unzip -q 文件名.zip -d 目录名
查看zip压缩包内容:unzip -l 文件名.zip
8、tar文件打包压缩与解压缩:
(补充说明:-P保留绝对路径符,-c表示创建一个tar包文件,-f用于指定创建的文件名,-v是以可视的方式输出打包的文件。)
文件压缩 打包成tar:tar -P -cf 包名.tar 目录路径(例子:tar -P -cf xmu.tar /home/xmu/Desktop 意思是将/home/xmu/Desktop下的文件打包入xmu.tar)
(补充说明:-x表示解压到已经存在的目录,-f后面跟包名)
解压缩tar压缩包:tar -xf 包名.tar -C 目录名
(补充说明:-t表示只查看不解包文件)
查看tar压缩包内容:tar -tf 包名.tar
9、容量的查看:
9.1 磁盘容量查看(df)
查看磁盘容量:df
查看磁盘容量(以符合阅读的形式输出):df -h
9.2 目录容量查看(du)
查看目录容量:du
查看目录容量(以更加易读的方式展开):du -h
(补充说明:-d指定查看目录的深度 ,-a显示目录中所有文件的大小,-s只列出最后总和的值)
查看目录某一层深度上的文件大小:du -h -d 深度~ (ps:深度可填大于等于0的数)
(补充说明:-r代表逆序排序,即从大到小。-h表示以人类可读方式。-n表示行数。-a表示全部文件。)
查看某个目录最大/小的前n个文件的大小:du -ah 目录路径 | sort -rh | head -n 10
10、正则表达式:
10.1 选择
竖直分隔符:| 表示选择。
10.2 数量限定
+ 表示前面的字符出现至少一次(1次或多次)
?表示前面的字符最多出现一次(0次或1次)
* 表示前面的字符可以不出现,也可以出现一次或多次
10.3 范围和优先级
圆括号()体现优先级。
10.4 基本正则表达式举例:
举例:
1、查找以某段字符为开头的行:grep '^字符' 路径
2、z.*o代表的是以z开头以o结尾的所有单词
3、匹配所有小写字母:grep '[[:lower:]]'
4、匹配所有大写字母:grep'[[:upper:]]'
5、匹配所有字母和数字:grep '[[:alnum:]]'
6、匹配所有字母:grep'[[:alpha:]]'
7、匹配所有数字:grep'[[:digit:]]'
8、匹配所有标点符号:grep'[[:punct:]]'
9、排除某个字符:grep '[^待排除的字符]'
10.5 扩展正则表达式举例:
举例:
1、匹配网址之类的记得加转义符\ :www\.(shoucang|dianzan)\.com
10.6、sed流编辑器:
sed命令的基本格式:
sed 参数 执行命令 输入文件
11、管道:
11.1 cut:
主要功能:打印某一行的某一字段。
(参数的含义:-d后跟分隔符。-f后跟字段或字段范围。-c后跟指定打印每行的前n字符。)
11.2 sort:
主要功能:排序。
(参数的含义:-r表示反转,-t指定字段分隔符,-k指定对那个字段进行排序,-n表示按数字进行排序)
11.3 uniq:
主要功能:过滤重复行或输出重复行
(参数的含义:-u表示先进行排序,-d表示重复行,-c表示出现的次数)
12、简单的文本处理:
12.1 tr命令
主要功能:删除一段文本信息中的某些文字或进行转化。
(参数含义:-d 删除与后面匹配的字符,-s删除与后面匹配的连续并重复的字符)
tr -d '待删除字符串' < 源文本 > 新文本
(注解:将源文本中的待删除字符串删除后输入到新文本中)
12.2 col命令
主要功能:将Tab转换成对等数量的空格键或反转该操作。
(参数含义:-x将Tab转化为空格,-h将空格转化为Tab)
12.3 join命令
主要功能:将两个文件中包含相同内容的那行合并。
(参数含义:-t后面跟指定的分隔符,默认为空格,-i忽略大小写的差异,-1指明第1个文件要用那个字段来对比默认第一个字段)
12.4 past命令
主要功能:简单将多个文件合并,不比对数据。
(-d后跟指定合并的分隔符,默认为Tab。-s不合并到一行,每个文件为一行。)