Linux学习笔记

man 获得帮助
ex: man ls (查询ls命令的帮助文件)
q 退出

info ls (显示ls命令的说明文档)
q 退出

passwd 更改密码

useradd 添加用户

切换用户:
su 默认切换到root
su - 不仅切换到root,而且使用环境也切换到root

当前目录:
pwd

创建文件:
touch

删除文件:
rm

查看文件内容:
cat

查看文件头或文件尾:
head
tail

移动或重命名文件:
mv

创建目录:
mkdir

删除目录:
rmdir 只能删除空目录
rm -r 都可以删除(-rf可以删除所有文件,用之需谨慎)

文件和目录复制:
cp

查看文件或目录的权限:
ls
-l 列出详细信息
-a 列出隐藏文件

改变文件权限:
chmod

改变文件的拥有者:
chown

改变文件的拥有组:
chgrp

查看文件类型:
file

查找文件:
find 一般查找 (exp: find / -name filename(从根目录开始查找filename))
locate 数据库查找(updatedb 查找前可运行此命令)
which 查找可执行文件的绝对路径
whereis

压缩/解压缩:
gzip 压缩单个文件
gunzip 解压缩单个文件
tar
bzip2
cpio

管道:
|

搜索文本:
grep [-ivnc] '需要匹配的字符' 文件名
-i 不区分大小写
-c 统计包含匹配的行数
-n 输出行号
-v 反向匹配
例子:
grep -vi 'name' tomAndJerry.txt == cat tomAndJerry.txt | grep -vi 'name'

排序:
sort [-ntkr] filename
-n 数字排序
-t 指定分隔符
-k 指定第几列
-r 反向排序

删除重复内容:
uniq [-ic]
-i 忽略大小写
-c 计算重复行数
一般来说,此命令与sort同用,先排序,再删除重复行
exp:
cat uniq.txt | sort | uniq

截取文本:
cut -f 指定的列 -d '分隔符'

文本转换:
tr
exp(小写字母转成大写):
cat filename | tr '[a-z]' '[A-Z]'

文本合并:
paste

检查和配置网卡:
ifconfig

网络测试工具:
ping (ctrl+c停止)
-c 指定ping的次数
-i 指定ping包的发送间隔
-w 若ping无回应,则在指定超时时间后退出

host 查询dns记录,返回域名的IP地址

ps 列出进程(通过此命令可以查询进程的pid,很有用的一条命令)

kill (先通过ps查出进程的pid,然后kill掉)
killall (直接输入进程的名字即可kill掉)

vi
i 进入编辑模式

esc 进入一般模式:
yy 复制该行(单行按两次yy复制,多行只需按一次)
大写的v(V) 可进入多行选中模式 按上下键来进行选择
control+v 可进入单列选中模式 按上下键来进行多列选择
p 粘贴
dd 删除该行
u 撤销最近一次操作
x 删除一个字母

: 末行指令模式
wq (w写入 q退出)
wq = x
:1,$s/word1/word2/g (将第1行至最后一行的所有word1替换成word2)

vim 可同时打开两个文件 通过":n"&":N"进行文件切换

:q! 不保存对文本的修改
:wq 保存对文本的修改并退出

vimtutor(输入此命令可完整学习vim的用法)

进入含空格的文件名的文件夹(file name: file name):
cd file' 'name
cd file name
cd file" "name