基础认知
Linux 是一种自由和开放源码的类 UNIX 操作系统。
Linux 英文解释为 Linux is not Unix 。
Linux内核最初是在 1991 由林纳斯·托瓦兹(Linus Torvalds)在赫尔辛基大学上学时创立的,主要受到 Minix 和 Unix 思想的启发。
目前市面上较知名的发行版有:Ubuntu、RedHat、CentOS、Debian、Fedora、SuSE、OpenSUSE、Arch Linux、SolusOS 等。
系统内核 uname -a
uname -r
uname -m
arch
cat /proc/version
系统设置、性能负载情况 hostname
who
who am i
whoami
date
cal 2022
env
lsmod
lsusb -tv
lspci -tv
cat /proc/cpuinfo
cat /proc/interrupts
cat /proc/loadavg
uptime
grep MemTotal /proc/meminfo
grep MemFree /proc/meminfo
free -m
vmstat 1 10
sar -u 1 10
sar -d 1 10
iostat
top
帮助命令
命令提示符:$ 普通用户 ;# root用户
命令和路径补全:Tab
键
type
用于判断另外一个命令是否是内置命令(内置命令在系统启动时就调入内存,是常驻内存的,所以执行效率高。而外部命令是系统的软件功能,用户需要时才从硬盘中读入内存。)
man xxx
:获取 xxx命令 的帮助(man自身帮助,man 1 man
)
help xxx
:获取内置命令的帮助
xxx --help
:获取外部命令的帮助
info xxx
:获取更丰富的帮助信息
重启及关机 sync
reboot
init 6
shutdown -r now
shutdown -r 10
shutdown -r 00:00
poweroff
halt
init 0
telinit 0
shutdown -h 10
shutdown -h 00:00
shutdown -c
logout
文件及目录 ls
ls -lhF
tree
pwd
cd
cd xxx
mkdir xxx yyy
mkdir -p zzz/xxx/yyy
touch zzz/xxx/yyy/test.txt
touch zzz/xxx/test{ 0001.. 2000 } .txt
find zzz/xxx -name test0666.txt
find zzz/xxx -name *66.txt
ln -s zzz/xxx/yyy/test.txt testlink
ln zzz/xxx/yyy/test.txt testlink2
cp zzz/xxx/yyy/test.txt zzz/xxx/yyy/text-copy.txt
cp zzz/xxx/* xxx/
cp -r zzz/xxx/ yyy/
mv zzz/xxx/yyy/test.txt zzz/
rm -rf xxx yyy
chmod 777 -R zzz
cat /etc/sysconfig/network-scripts/ifcfg-ens32
cat -n /etc/sysconfig/network-scripts/ifcfg-ens32
tac /etc/sysconfig/network-scripts/ifcfg-ens32
wc /etc/sysconfig/network-scripts/ifcfg-ens32
文件权限八进制语法
#
权限
rwx
二进制
7
读 + 写 + 执行
rwx
111
6
读 + 写
rw-
110
5
读 + 执行
r-x
101
4
只读
r–
100
3
写 + 执行
-wx
011
2
只写
-w-
010
1
只执行
–x
001
0
无
—
000
例如, 765 将这样解释:
所有者的权限用数字表达:属主的那三个权限位的数字加起来的总和。如 rwx ,也就是 4+2+1 ,应该是 7。
用户组的权限用数字表达:属组的那个权限位数字的相加的总和。如 rw- ,也就是 4+2+0 ,应该是 6。
其它用户的权限数字表达:其它用户权限位的数字相加的总和。如 r-x ,也就是 4+0+1 ,应该是 5。
Vim文本编辑器
进入插入模式:iloOaA
i
在当前光标位置,进入到插入模式
I
移动到当前光标所在行首,再进入到插入模式
a
在当前光标位置之后,进入到插入模式
A
移动到当前光标位置所在行尾,再进入到插入模式
o
在当前光标下一行,进入到插入模式
O
在当前光标上一行,进入到插入模式
常用指令:
v
、V
、ctrl+v
进入可视模式(字符可视化、行可视化、块可视化)
h j k l
上下左右
u
撤销
ctrl+r
重做
X
删除单个字符
G
定位指定的行
^ $
定位到行开头结尾
dd d$
剪切
yy y$
复制
p
粘贴
r
替换单个字符
:
进入命令模式
esc
回到正常模式
命令模式:
/
查找
s/old/new/
替换
w
写入文件
W
另存文件
q
退出
q!
退出不保存
!cmd
执行命令
压缩及解压 zip xxx.zip file
zip -r xxx.zip file1 file2 dir1
unzip xxx.zip
tar --exclude = dir1/file1 -zcvf xxx.tar dir1
tar -zxvf xxx.tar
系统服务 service firewalld status
service firewalld start
service firewalld restart
service firewalld stop
systemctl enable firewalld
systemctl disable firewalld
进程 ps -ef
ps -ef| grep java
kill -9 pid号
网络 ifconfig
ifconfig ens32
route -n
netstat -lntp
netstat -antp
netstat -lutp
scp root@10.10.10.10:/opt/soft/nginx-0.5.38.tar.gz /opt/soft/
scp -r root@10.10.10.10:/opt/soft/mongodb /opt/soft/
scp /opt/soft/java.tar.gz root@10.10.10.10:/opt/soft/scptest
scp -r /opt/soft/java_home root@10.10.10.10:/opt/soft/scptest
磁盘 fdisk -l
swapon -s
df -h
du -sh /home/
mount /dev/hda2 /mnt/hda2
mount -t ntfs /dev/sdc1 /mnt/usbhd1
mount -o loop xxx.iso /mnt/cdrom
mount /dev/sda1 /mnt/usbdisk
umount -v /dev/sda1
umount -v /mnt/mymnt
用户及用户组 cut -d: -f1 /etc/passwd
cut -d: -f1 /etc/group
useradd new_account
groupadd new_group
id new_account
groups new_account
usermod -aG new_group new_account
usermod -g new_group new_account
groupmod -n new_group_rename new_group
groupdel new_account
userdel -r new_account
su - new_account
passwd
passwd new_account
w
last
crontab -l
包管理 DPKG
Debian package manager
APT
Advanced package tool 是一个在 Debian 和 Ubuntu 中的 Shell 前端软件包管理器。
apt-cache search pkg_name
apt-cache show pkg_name
apt-get install pkg_name
apt-get purge pkg_name
apt-get remove pkg_name
apt-get update
apt-get upgrade
apt-get clean
RPM
redhat package manager 原本是 Red Hat Linux 发行版专门用来管理 Linux 各项套件的程序,由于它遵循 GPL 规则且功能强大方便,因而广受欢迎。逐渐受到其他发行版的采用。RPM 套件管理方式的出现,让 Linux 易于安装,升级,间接提升了 Linux 的适用度。
https://www.runoob.com/linux/linux-comm-rpm.html
YUM
Yellow dog Updater, Modified 是一个在 Fedora 和 RedHat 以及 SUSE 中的 Shell 前端软件包管理器。
基于 RPM 包管理,能够从指定的服务器自动下载 RPM 包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。
https://www.runoob.com/linux/linux-yum.html
附录 Linux 命令大全 👉 https://www.w3cschool.cn/linux/linux-command-manual.html