进入Linux
终端:
- 图形终端
- 命令行终端
- $表示普通用户
- #表示root用户
Init 3
命令选择登录用户,init 0
命令退出系统,su - root
切换为root权限
- 远程终端(ssh vnc)
常见目录结构:
1 | / 根目录 |
学习命令
Man
- Man ls
- Man mancat
- Man 7 man
man手册的九个章节:
Help
- 内部命令:Help cd
- 外部命令:Ls –help
- 查看类型:type cd
Info
- Info cd
补充help
一切皆文件
文件查看
- Pwd 显示当前目录名称
- Cd 更改当前操作目录
- Cd - 回到刚才的目录
- Cd ./.. 相对路径
- Cd /.. 绝对路径
- Ls 查看当前目录的文件
- Ls [目录 目录 …]
- Ls -l 长格式输出
- Ls -a 查看所有包括隐藏文件夹
- Ls -r 逆向顺序显示(文件名逆向)
- Ls -R 递归全部显示
创建和删除目录
- Mkdir 创建目录
- Mkdir [目录 目录 …]
- Mkdir -p [目录]同时创建多级目录
- Rmdir 删除空白目录
- Rm -r -f 删除目录同时非提示
复制和移动目录
- Cp -r [源目录/文件] [目的地址]
- -v 显示进度条
- -p 保留时间
- -a 保留属主和权限
- Mv 移动/改名
- Mv [源目录] [目的目录](目的地址不存在就是改名)
- 通配符:*,?
查看文件
- Cat [文件名]
- Head -5 [文件名] 查看开头5行
- tail同head
- -f 跟踪变化
- Wc 查看多少行
- More 分行显示
打包和压缩
打包:
- Tar cf [目录和文件名] [要打包的目录]
压缩:
- Gzip
- bzip2
- Tar czf [tmp/ect.backup.tar.gz] [/etc]
- Tar cjf [tmp/ect.backup.tar.bz2] [/etc]
解压缩:
- Tar xf /tmp/etc-backup.tar -C /root
- Zxf
Vi
四种模式:
正常模式、插入模式、命令模式、可视模式
- 退出: :q
- 编辑:i
正常模式:
进入输入模式:i,o,a或大写
进入可视化模式:v
进入命令模式::
单行复制:yy
粘贴:p
多行复制:n yy
单行到结尾:y$
剪切:y-d
命令模式:
- 保存::w [目录]
- 不保存::q!
- 执行linux命令::!
- 查找:/x
- 下移:n
- 上移:shift+n
- 替换::%s/old/new/g
- 替换::3,5s/old/new/g
- 显示行号::set nu
- 查看vim配置文件:vim /etc/vimrc
- 到底端:shift+g
可视模式
- 操作字符:v
- 操作行:V
- 操作块:ctrl+v
权限
用户管理
- 新建用户:useradd username
- 验证用户的存在:id username
- 指定用户密码:passwd username
- 改变自己的密码:passwd
- 删除用户:userdel username
- -r 删除home目录
- 修改用户属性:usermod username
- -d 目录 修改home目录
- Chage
- 新建组:groupadd groupname
- 切换用户:su - username
- 授予user权限:visudo
用户配置文件
- /etc/passwd
username:passwd:uid:gid:注释:家目录:命令解释器
- /etc/shadow
username:加密之后的密码
- /etc/group
groupname:passwd:gid:还在其他组的用户
用户目录权限
- 查看文件权限:ls -l name
- 文件类型:
- 权限表示:
- 读:r
- 写:w
- 执行:x
不同文件类型不同,权限限制只限制普通用户
修改权限命令
- 修改文件权限
- 修改字符权限:chmod u=rwx file
- 属主权限:u
- 属组权限:g
- 其他权限:o
- 所有权限:a
- 修改数字权限:chmod:446 file
- 修改字符权限:chmod u=rwx file
- 修改属主
- 改属主:chown username dir
- 改属组:chown :groupname dir
- 或用chgrp
权限冲突,以属主的权限为准
管理
网络管理
- 网络查看
- net.tools
- 查看网卡名称:ifconfig
- 修改网卡名称
- 修改网卡名称
- 查看路由:route
- 添加删除路由:route add/del …
- 网络故障排除
- 查看网络是否畅通:ping ip
- 检查每一跳的信息:traceroute -w 1 www.baidu.com或者mtr
- 域名解析:nslookup 域名
- 检测指定ip端口:telnet ip
- 网络抓包:tcpdump -i any -n host 10.0.0.1 and port 80 -w /tmp/file
- 查看监听端口:netstat/ss -ntpl
- -n 只显示ip
- -t 只显示tcp
- -p 也显示进程
- -l listen
- 查看网卡名称:ifconfig
- iproute2
- net.tools
- 网络服务管理
- 配置文
软件包管理
rpm格式
使用yum包管理器,如CentOS、RedHat
格式:软件名称-软件版本-系统版本-平台.rpm
rpm命令管理
如果rpm包在设备文件/dev中、查看镜像文件需要挂载
mount /dev/sr0 /mnt
将光盘文件挂载到mnt中ls可查看
cd packages
在这里可以查看到rpm文件
rpm -qa
查询安装的所有rpm包
rpm -qa | more
分页查询安装的所有rpm包
rpm -q 包名
查询安装的指定rpm包
rpm -i 包名
安装指定rpm包
rpm -e 包名
卸载安装的指定的rpm包
yum命令管理
yum管理下载rpm包,存在包镜像,可以改为国内的镜像源,可以不用考虑依赖关系
yum install ...
yum remove ...
yum update ...
源代码编译安装
- wget下载.tar.gz
- tar -zxf解压缩
- cd进入
- ./configure –prefix=/usr/local/name配置安装位置
- make编译
- Make install编译好的进行安装
deb格式
使用apt包管理器,如Debian、Ubuntu
升级内核
rpm内核
查看内核版本:uname -r
使用yum命令
升级内核版本:yum install kernel-3…(www.kernel.org)
升级其他软件以及最新内核:yum update
安装依赖包:yum install
也可以使用源代码编译安装(/usr/src/kernels)
GRUB引导
配置文件
/etc/default/grub
/etc/grub.d
/boot/grub
grub可以修改默认引导的内核
进程管理
查看进程:
- ps:查看当前运行进程:pid tty(终端)time cmd
- ps -e | more 分页查看所有进程
- -f 看到有效用户id,ppid(父进程),cmd补全
- -lf 看到线程
- pstree | more进程以树状形式显示
- top查看全局进程信息
进程控制:
- 调整优先级
- nice -n 10 ./a.sh
- renice -n 15 pid
作业控制
- 在后台运行:./a.sh &
- 调到前台:jobs查看后台进程信息,fg 1 调到前台
- ctrl+Z调到后台,同时停止进程
- 前台运行:fg,后台运行:bg
进程通信:
管道符、信号、套接字
- 查看信号:kill - l
- 2号:SIGINT相当于ctrl+C
- 9号:SIGKILL不可中断的停止
- 发送信号:kill - 9 pid
守护进程:
不需要终端就可以启动
- 关掉终端不会杀死进程同时忽略输入,输出到nohup.out中:nohup 程序 &
screen环境:
- screen:进入screen环境
- ctrl+A+D退出会话
- Screen -ls:查看会话
- Screen -r id:重新进入会话
- exit:退出会话
系统日志:
- cd /var/log
- /messages常用系统日志
- /dmesg内核启动日志
- /secure安全问题
服务管理工具:
systemctl