Linux经典系统分两大类
RedHat:CentOS
Debian:Ubuntu
1.关机/重启机器
halt 关机
reboot 重启
exit 注销
2.登录运行初始级别设置:init[0123456]
System V init Systemd目标(/lib/systemd/system/)
0:关机 runlevel0.target, poweroff.target
1:单用户(不用密码可以登录) runlevel1.target, rescue.target
2:多用户状态没有网络 runlevel2.target, multi-user.target
3:多用户状态有网络服务(比较常用) runlevel3.target, multi-user.target
4:系统未使用保留给用户 runlevel4.target, multi-user.target
5:图像界面 runlevel5.target, garphical.target
6:系统重启 runlevel6.target, reboot.target
Centos 6版本
1.修改运行级别
修改文件/etc/inittab中的内容为"id:3:initdefault:"这一行的数字3为0-6;重启电脑生效
2.忘记root登录密码
在开机启动界面,快速输入方向键盘,选择"...x86_64",输入键盘"e",进入下一界面,选中"kernel ..."这一行,然后再次输入键盘"e",
进入可编辑页面,在末尾输入" 1",即进入单用户运行级别,输入Enter回车键退出编辑页面,再输入键盘"b"启动,
进入系统后,在dos界面执行root密码修改,passwd root;
CentOS 7版本
1.修改运行级别(使用systemd创建符号链接指向默认运行级别)
删除已经存在的符号链接:rm /etc/systemd/system/default.target,
创建默认级别:ln -sp /lib/systemd/system/multi-user.default /etc/systemd/system/default.target
2.忘记root登录密码
在开机启动界面,快速输入方向键盘,选择"...x86_64",输入键盘"e",进入可编辑界面,移动光标到内容"LANG=en_US.UTF-8"后面,
增加内容" init=/bin/sh",输入键盘"Ctrl+x"进行引导启动,进入dos界面,执行命令"mount -o remount,rw /"把根分区重新挂载成读写模式,
这样就可以修改密码"passwd root"让写入配置,执行touch /.autorelabel,重启生效reboot/exac /sbin/reboot
3.目录结构
/root目录-存储root用户的个人信息
/home用户目录-存储普通用户的个人信息
/bin目录-用户二进制可执行文件,系统的所有用户使用的命令,如cp,ls,ping,grep。ps
/sbin目录-系统管理员使用的二进制可执行文件(.bin),如reboot,ifconfig
/etc目录-包含所有程序所需的配置文件以及启动/关闭程序的shell脚本,如passwd密码配置
/var目录-内容变化的变量文件,如系统日志文件(/var/log);包和数据库文件(/var/lib);电子邮件(/var/mail);打印队列(/var/spool);锁文件(/var/lock);重启需要的临时文件(/var/tmp)
/usr目录-用户程序,包含二进制文件、库文件、文档和二级程序的源代码
/usr/bin包含用户程序的二进制文件,如awk,scp,less
/usr/sbin包含系统管理员的二进制文件,如useradd,userdel
/usr/lib包含/usr/bin和/usr/sbin中用的库
/usr/local包含从源安装的用户程序,如安装apache,它会在/usr/local/apache2中
/mnt目录-挂载光驱和软驱的目录
/lib目录-包含/bin和/sbin下的二进制文件的库文件,库文件名为Id×或者lib×。so.*,如Id-2.11.2.so,libattr.so.2
/tmp目录-临时文件,系统重启会删掉
/boot目录-存放引导加载程序文件,如grub
4.命令
常用命令
ls -ltr;查看目录列表
mkdir 目录;创建目录
rmdir 目录;删除空目录
touch 文件;创建文件
rm -rf 文件/目录;强制删除文件或目录
ln -s 目录1 目录2;创建目录2链接文件,链接到目录1
rm -rf 目录2;删除目录2链接文件
find /home -name "*.txt";在/home下查找文件名末尾为.txt的所有文件列表
mv a b;移动a文件或目录到b目录下
cp a b;把a文件或目录复制到b目录下
cat file;查看文件内容
tail -f file;实时查看文件结尾
less file;查看文件内容,<空格>向下翻页,<b>向上翻页
pwd;显示当前目录
cd 目录;切换到目录下
echo "aaaa"[>,>>]file;创建带有内容的文件,>替换,>>
wc [-lwc] file;显示file中的行数l,字数w,字节数c
awk -F ":" '{print $0}';输出以":"分割的所有内容,$1表示":"分割的第1列
grep -C20 "aaa" /etc/apps:匹配到的字符串aaa所在的行及其前后各n行,-A向后/-B向前
nohup command > myout.file 2>&1 & (0 – stdin (standard input),1 – stdout (standard output),2 – stderr (standard error) ;2>&1是将标准错误(2)重定向到标准输出(&1),标准输出(&1)再被重定向输入到myout.file文件中。)
系统命令
ps -aux;显示当前正在执行的进程信息,和ps -ef一样;
kill -9 pid;杀死pid进程
netstat/ss -apn;显示所有的端口和进程状态,最后一列是pid/语法名,(l监听LISTEN,p进程/语法名,n网络ip和端口,t/u/x:tcp/udp/unix)
telnet ip port:查看ip和port是否联通,connected to ...
ip addr/ifconfig;查看网络状态
ping ip;测试网络连通
whoami;显示当前操作用户
whereis 命令:查看某个命令
mount -t auto /dev/cdrom/ /mnt/cdrom;通过cd/dvd光驱挂载镜像文件到虚拟机
umount /mnt/cdrom;卸载cdrom挂载
cpu和内存
htop命令:查看cpu核数和内存
查看物理CPU个数 cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l 查看每个物理CPU中core的个数(即核数) cat /proc/cpuinfo| grep "cpu cores"| uniq 查看逻辑CPU的个数 cat /proc/cpuinfo| grep "processor"| wc -lCPU总核数 = 物理CPU个数 * 每颗物理CPU的核数
总逻辑CPU数 = 物理CPU个数 * 每颗物理CPU的核数 * 超线程数查看CPU信息(型号)
cat /proc/cpuinfo | grep 'model name' |uniq
内存总数
cat /proc/meminfo | grep MemTotal
压缩包命令(z--.gz,j--.bz)(c:压缩,x:解压缩)
压缩文件 解压文件
tar -cvzf *.gz tar -xvzf *.gz
tar -cvjf *.bz tar -xvjf *.bz
zip *.zip unzip *.zip
磁盘相关命令
df -hl 查看磁盘剩余空间
du -sh * 查看指定文件夹下的所有文件大小(包含子文件夹)
其他命令
curl http://www.linux.com 执行后,www.linux.com 的html就会显示在屏幕上
wget -O a.zip http://www.linuxde.net/testfile.zip 下载并修改文件为a.zip并保存到当前目录
scp /usr/local/apache.zip root@192.168.1.120:/home/ 跨系统拷贝本地文件到远程,拷贝远程到本地scp root@192.168.1.120:/home/a.zip /usr/local/
sftp username@ip 登陆远程sftp
ps -ef |grep hello |awk '{print $2}'|xargs kill -9 xargs 是一个强有力的命令,它能够捕获一个命令的输出,然后传递给另外一个命令
5.用户及用户组管理
用户分类:
a.管理员root:具有使用系统所有权限的用户,其UID为0
b.普通用户:一般用户,其使用系统的权限受限,其UID为500-6000
c.系统用户:保障系统运行的用户,一般不提供密码登录,其UID为1-499
用户信息存储:
/etc/passwd 存储用户帐户,格式:account(账号):password(密码):UID:GID(组id):GECOS(用户详细信息如电话,姓名,年龄):directory(用户目录):shell(用户所在的编程环境)
/etc/shadow 存储用户账号的密码信息,格式:account(账号):password(密码):最近更改密码的日期:密码不可更改的天数:...
用户命令:root可用
useradd 用户名:创建用户,默认会生成和用户名一样的组名作为主组,用useradd -g 组名 用户名,建立用户并加入组
userdel 用户名;删除用户
usermod -g 组名 用户名;修改用户对应的组
passwd 用户名 :更改或创建密码,会弹出输入密码提示
su 用户名;切换到用户下
用户组信息存储:
/etc/group 存储组账号,格式:group_name(组名):password(组密码):GID(组ID):user_list(组用户成员列表)
/etc/gshadow 存储用户组账号的密码
用户组命令:root可用
groupadd 组名:创建组名
groupdel 组名:删除组名
6.文件及权限管理
文件类型
- 表示具体文件
d 表示目录文件
l 表示软链接文件
文件权限类型
r 读 数值为4,2的2次方
w 写 数值为2,2的1次方
x 可执行 数值为1,2的0次方
文件操作者类型
u 表示文件创造者
g 表示文件对应的组
o 表示文件对应的其他人
文件分析,执行命令ll或者ls -l
drw-rw-r-- 2 root root 4096 Aug 20 18:20 dir
-rw-rw-r-- 1 root root 4096 Aug 20 18:20 file
lrw-rw-r-- 0 root root 4096 Aug 20 18:20 link
对文件的操作命令
chmod 修改文件权限,如chmod -R 776 file或chmod -R u+x,g+x,o+w file
root权限使用
chown 用户名:组名 文件名;修改文件的创造者和对应的组,如chown -R root:root file
chown 用户名 文件名;修改文件的创作者
chgrp 组名 文件名;修改文件的组名
7.软件安装与配置
1.源码安装(查看INSTALL和README文件)
./configure --prefix=/usr/local/xx 指明安装路径,会生成Makefile文件
make clean;make
make install
2.bin安装
./*.bin 直接安装,并在当前目录下生成安装路径
3.rpm和yum安装(RedHat,CentOS)
rpm -ivh <*.rpm> 安装并生成安装目录/usr/local/*/
rpm -e <包名> 卸载
rpm -Uvh 包名 升级
rpm -qa | grep <包名> 查看所有安装的包
yum install <包名> 联网安装,多个包名可以执行yum -y install <包名1> <包名2>
yum update 升级本地仓库
4.dpkg和apt-get安装(Debian,Ubuntu)
dpkg -i <×.deb> 安装
dpkg -P <包名> 卸载
apt-get install <包名> 联网安装
apt-get update 升级本地仓库
有用的安装命令:
1.yum install net-tools === netstat、ifconfig
2.yum -y install wget === wget
3.yum -y install scp === scp
4.yum -y install openssh* === ssh、sftp
5.yum install lrzsz === rz:上传/sz:下载
6.yum -y install telnet-server xinetd === telnet
7.yum -y install bind === named
8.yum -y install bind-utils === nslookup、host、dig
9.yum -y install NetworkManager NetworkManager-tui === 网络配置工具nmcli/nmtui
10.yum -y install ipvsadm
4157

被折叠的 条评论
为什么被折叠?



