MAN 操作手册
学linux,必须知道如何使用man,首先是安装man,或者在这里逛逛
1 | yum -y install man-pages |
SCP
上传本地文件到服务器
1 | scp -P [ssh端口] /path/filename username@serverhost:/path |
下载HTTP文件
下载东西可以使用curl指令,如
1 | curl baidu.com -O -L |
也可以使用wget指令,如
1 | wget baidu.com |
Linux运行级别
linux一共有7个级别,分别为
0关机、
1单用户、
2无网多用户、
3有网多用户,
4保留,
5图形界面,
6重启。
在文件/etc/inittab中指定了级别。
查看运行级别
查看文件/etc/inittab
修改运行级别
1 | init 3 |
如何找回root密码
进入单用户模式,然后修改密码,因为进入单用户模式不需要密码就可以登陆。
进入grub中,按e编辑指令,修改kernel,输入1进入单用户级别,输入b启动,用passwd root修改密码
mkdir
在用户文件夹下创建hello
1 | mkdir ~/hello |
多级目录需要加上-p参数
1 | mkdir ~/h/h/h |
rmdir
删除空文件夹
1 | rmdir ~/hello |
删除非空文件夹
1 | rm -rf |
touch
创建文件,我常用vim
1 | touch a.txt b.txt c.txt |
cp
将a.txt拷贝到用户目录下
1 | cp a.txt ~/ |
将a这个文件夹全部拷贝到用户目录,-r指的是递归
1 | cp -r a/ ~/ |
\cp可以强制覆盖不提示,在mac中直接覆盖了,不需要\cp
rm
删除a.txt,
1 | rm a.txt |
删除目录a, -r为递归
1 | rm -r a/ |
删除目录a,-f为不提示 可与-r合并为-rf
1 | rm -r -f a/ |
mv
将a.txt重命名为b.txt
1 | mv a.txt b.txt |
将a.txt一定到用户目录,如果那有的话,mac不提示是否替换,直接替换,有点不人道了。
1 | mv a.txt ~/ |
cat
cat是浏览文件
就能看到配置文件了
1 | cat ~/.vimrc |
-n 能够显示行号
1 | cat -n ~/.vimrc |
more是一个类似于vim的东西,能够把文件分页,用空格看下一行,用enter看下一页,用<C-F>和<C-B>翻页,用=输出行号,用fb也可以翻页。
1 | cat -n ~/.vimrc | more |
more
直接完成
1 | more ~/.vimrc |
less
基于显示的懒加载方案,打开文件非常快
几乎和more一样,就是开大文件快一点,可以用来打开日志。
1 | less ~/.vimrc |
> 和>>
>是输出重定向,会覆盖内容,>>是追加,不会覆盖
例子
ls -l 会输出一些内容,这些叫输出,>a.txt会写入a.txt,当然也可以用>>来追加,后面只演示>,不演示>>了
1 | ls -l > a.txt |
例子2
将cat的输出重定向到b.txt中
1 | cat a.txt > b.txt |
echo
输出 abcde
1 | echo "abcde" |
将abcde写入a.txt
1 | echo "abcde" > a.txt |
cal
cal显示日历
将日历输出到a.txt
1 | cal > a.txt |
echo
一般用于输出信息,
输出了abc
1 | echo "abc" |
输出环境变量,
1 | echo $PATH |
head
查看文件的前几行
看vim配置文件前10行
1 | head ~/.vimrc |
看vim配置文件的前20行,-n表示行数
1 | head -n 20 ~/.vimrc |
tail
查看结尾几行,同上
监控a.txt,当他被追加的时候,输出追加的信息
1 | tail -f a.txt |
ln
建立软链接(快捷方式)
创建一个用户目录的软链接到当前目录,这个软链接叫mylink
1 | ln -s ~ mylink |
history
查看最近执行的指令
mac中不太一样,history 10 表示查看第10条指令到现在的指令
查看最近执行的10条指令
1 | history 10 |
执行第10调指令
1 | !10 |
date
date可以看到时间,后面是格式设置
1 | date "+%Y-%m-%d 星期%w %H:%M:%S" |
设置日期
-s 表示设置时间
1 | date -s "2021-1-1 1:1:1" |
cal
cal直接查看当前月的日历
看2020n年的日历
1 | cal 2020 |
find
在用户文件夹下找名为.vimrc的文件
1 | find ~ -name .vimrc |
在用户文件夹下找名为.vimrc属于用户s的文件
1 | find ~ -user s -name .vimrc |
在用户文件夹下找大于100M的文件
1 | find ~ -size +100M |
在用户文件夹下找小于100M的文件
1 | find ~ -size -100M |
在用户文件夹下找等于100M的文件
1 | find ~ -size 100M |
通配符
1 | find ~ -name *.txt |
locate
根据数据库快速定位文件的位置,
更新数据库
1 | updatedb |
根据数据库快速定位a.txt
1 | locate a.txt |
管道
将前一个指令的输出传递给后一个指令处理
1 | | |
grep
寻找let,并输出行号和行数据,-n表示输出行号,-i表示不区分大小写,
1 | grep -n -i let ~/.vimrc |
通过管道将cat的结果传递给grep,同上
1 | cat ~/.vimrc | grep -ni let |
gzip gunzip
将hello.txt压缩为hello.txt.gz
1 | gzip hello.txt |
将hello.txt.gz解压为hello.txt
1 | gunzip hello.txt.gz |
zip 与 unzip
把用户目录下的所有文件压缩到res.zip中
1 | zip -r res.zip ~ |
把res.zip解压到~/res中
1 | unzip -d ~/res res.zip |
rar 与 unrar
有这东西,很少用
tar
-z是打包同时压缩,-c是产生.tar文件,-v是显示详细信息,-f是指定压缩后的文件名 res.tar.gz是打包后的文件,其后为打包文件
1 | -zcvf res.tar.gz a.txt b.txt |
对a文件夹打包
1 | -zcvf res.tar.gz a/ |
解压到当前目录
1 | -zxvf res.tar.gz |
指定解压到~中
1 | -zxvf res.tar.gz -c ~ |
netstat
netstat可以显示网络状态,
1 | netstat -a |
netstat可以显示网卡
1 | netstat -i |
我们看到了输出
1 | Name Mtu Network Address Ipkts Ierrs Opkts Oerrs Coll |
netstat查看udp连接
1 | netstat -a -p udp |
看到了如下输出
1 | Active Internet connections (including servers) |
用户分组
linux中每个文件和目录都有访问权限,分别是只读、只写、可执行
权限分类
用户权限即自己的权限,用户组权限即同组人的权限,其他权限即和自己不同组的人的权限,所有人的权限即所有人的权限
权限
符号 | 操作 | 数字 |
---|---|---|
r | 读 | 4 |
w | 写 | 2 |
x | 执行 | 1 |
d | 目录 | |
+ | 增加权限 | |
- | 取消权限 | |
= | 赋予权限并取消其他权限 |
chmodu
修改文件的权限
参考
文件权限中 chmod、u+x、u、r、w、x分别代表什么