linux指令学习
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
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
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 ~/
1
cp -r a/ ~/
# rm 删除a.txt, 1
rm a.txt
1
rm -r a/
1
rm -r -f a/
1
mv a.txt b.txt
1
mv a.txt ~/
cat
cat是浏览文件 就能看到配置文件了 1
cat ~/.vimrc
1
cat -n ~/.vimrc
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"
1
echo "abcde" > a.txt
cal
cal显示日历 将日历输出到a.txt 1
cal > a.txt
echo
一般用于输出信息, 输出了abc 1
echo "abc"
1
echo $PATH
1
head ~/.vimrc
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
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
1 | find ~ -user s -name .vimrc |
在用户文件夹下找大于100M的文件 1
find ~ -size +100M
1
find ~ -size -100M
1
find ~ -size 100M
1
find ~ -name *.txt
locate
根据数据库快速定位文件的位置, 更新数据库 1
updatedb
1
locate a.txt
管道
将前一个指令的输出传递给后一个指令处理 1
|
grep
寻找let,并输出行号和行数据,-n表示输出行号,-i表示不区分大小写, 1
grep -n -i let ~/.vimrc
1
cat ~/.vimrc | grep -ni let
gzip gunzip
将hello.txt压缩为hello.txt.gz 1
gzip hello.txt
1
gunzip hello.txt.gz
zip 与 unzip
把用户目录下的所有文件压缩到res.zip中 1
zip -r res.zip ~
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
1
netstat -i
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28Name Mtu Network Address Ipkts Ierrs Opkts Oerrs Coll
lo0 16384 <Link#1> 529008 0 529008 0 0
lo0 16384 127 localhost 529008 - 529008 - -
lo0 16384 localhost ::1 529008 - 529008 - -
lo0 16384 s-2.local fe80:1::1 529008 - 529008 - -
gif0* 1280 <Link#2> 0 0 0 0 0
stf0* 1280 <Link#3> 0 0 0 0 0
XHC20 0 <Link#4> 0 0 0 0 0
XHC0* 0 <Link#5> 0 0 0 0 0
en0 1500 <Link#6> f0:18:98:04:fb:91 2816466 0 2459809 0 0
en0 1500 s-2.local fe80:6::18f3:f6a: 2816466 - 2459809 - -
en0 1500 192.168.0 192.168.0.106 2816466 - 2459809 - -
en1 1500 <Link#7> 82:37:90:29:8c:01 0 0 0 0 0
en2 1500 <Link#8> 82:37:90:29:8c:00 0 0 0 0 0
bridg 1500 <Link#9> 82:37:90:29:8c:01 0 0 1 0 0
p2p0 2304 <Link#10> 02:18:98:04:fb:91 0 0 0 0 0
awdl0 1484 <Link#11> 3e:c1:fd:7a:da:c8 131 0 99 0 0
awdl0 1484 fe80::3cc1: fe80:b::3cc1:fdff 131 - 99 - -
llw0 1500 <Link#12> 3e:c1:fd:7a:da:c8 0 0 0 0 0
llw0 1500 fe80::3cc1: fe80:c::3cc1:fdff 0 - 0 - -
utun0 1380 <Link#13> 0 0 4 0 0
utun0 1380 s-2.local fe80:d::a38c:4185 0 - 4 - -
utun1 2000 <Link#14> 0 0 4 0 0
utun1 2000 s-2.local fe80:e::1c71:618a 0 - 4 - -
utun2 1380 <Link#15> 2 0 36 0 0
utun2 1380 s-2.local fe80:f::d494:4c0e 2 - 36 - -
utun3 1380 <Link#16> 0 0 4 0 0
utun3 1380 s-2.local fe80:10::b7d4:8de 0 - 4 - -1
netstat -a -p udp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19Active Internet connections (including servers)
Proto Recv-Q Send-Q Local Address Foreign Address (state)
udp4 0 0 *.65006 *.*
udp4 0 0 *.49684 *.*
udp4 0 0 *.53824 *.*
udp4 0 0 *.63924 *.*
udp4 0 0 *.52738 *.*
udp4 0 0 *.59184 *.*
udp4 0 0 *.55333 *.*
udp4 0 0 *.52971 *.*
udp4 0 0 *.* *.*
udp4 0 0 *.* *.*
udp4 0 0 *.61025 *.*
udp4 0 0 *.xserveraid *.*
udp4 0 0 *.mdns *.*
udp6 0 0 *.62311 *.*
udp4 0 0 *.62311 *.*
udp6 0 0 *.63490 *.*
udp4 0 0 *.63490 *.*
用户分组
linux中每个文件和目录都有访问权限,分别是只读、只写、可执行
权限分类
用户权限即自己的权限,用户组权限即同组人的权限,其他权限即和自己不同组的人的权限,所有人的权限即所有人的权限
权限
符号 | 操作 | 数字 |
---|---|---|
r | 读 | 4 |
w | 写 | 2 |
x | 执行 | 1 |
d | 目录 | |
+ | 增加权限 | |
- | 取消权限 | |
= | 赋予权限并取消其他权限 |
chmodu
修改文件的权限