sda hda 表示整块硬盘
sda:sata(家用),scsi(服务器),sas(服务器)
sda表示第一块硬盘,sda1表示第一个分区 sda2表示第二个分区
sdb表示第二块硬盘
hda:ide(老版硬盘)
挂载:把分区挂载到目录下的过程
挂载点:挂载的目录
需要挂载的分区:挂载设备
第一个挂载点/boot type:ext4 size:100mb
第二个挂载点/ type:ext4 size:18000mb(必须有此分区)
第三个挂载点(交换分区、虚拟内存) type:swap size(物理内存的两倍): 1000mb(必须有此分区)
终端命令
........................................................................................
who 命令:判断谁在系统上及其登录方式 tty1,tty2分别指第一台虚拟控制台和第二台虚拟控制台; pts/0指
在X服务器中打开的第一个终端
ctrl+alt+F1 到ctrl+alt+F6 可以访问6台虚拟控制台 ctrl+alt+F7 回到图形界面
ssh 用户名@目标服务器地址 可以登录远程服务器操作机器
alt+F2 打开运行应用程序 输入 gnome-terminal 打开终端
ctrl+shift+n 打开一个新的终端
ctrl+shift+t 打开一个新的标签 alt+1 alt+2 ...可以在标签中进行切换
ctrl+shitf+w 关闭标签
ctrl+shitf+q 关闭窗口
alt+F4 关闭窗口
shell 命令解释器 把键入的命令解释给内核
cd change directory 更改路径
man 命令名 可以看到命令的全拼
alt+. 列出之前执行过命令最后一部分
pwd 打印工作目录
cd - 切换到上一次去过的目录
ls -l 以常格式列出我们的文件 ll是ls -s 的别名
列表格式说明
文件类型|权限 硬链接的个数(一个文件有两个名字) 文件所有者 文件所属组 大小(字节) 时间(modify时间) 文件名
drwxr-xr-x 3 root root 22 修改时间 c
ll -h 显示文件大小的单位
软链接:快捷方式 有两个文件 一个是源文件一个是快捷方式
ls -a 显示所有文件
stat 文件名 查看文件信息
ls -d 目录名 查看目录信息
ls -i 显示i节点
ls -R 递归显示
rm -rf 文件名 删掉不要的文件
目录结构
bin:放的都是二进制文件,都是可执行的命令
sbin:里面的命令只能由root用户执行
dev: 存放设备文件(键盘,光驱..)
lib: 都是模块(内核中的所有模块,例如:驱动模块)
media:插入U盘的实际位置,会挂载到这里,计算机里面的只是一个快捷方式
net:
srv:
sys:
cgroup:
misc:
root:root帐户的家目录,普通帐户访问需要授权
home:普通帐户的家目录,root帐户可以直接访问
usr: 存放的下载软件目录,软件主要的安装目录,相当于window program
boot:启动目录,启动文件driver ,initrd vmlinuez,grab文件加载器
etc: 存储配置文件的目录
lib64: 64位的库
misc:
opt: 经常用作挂载目录
var: 存储一些经常变化的文件,例如:日志文件,下载的一些文件,访问的一些网站等
lost+found:修复文件系统碎片,一个新分区的标志
mnt: 挂载目录
proc:内核初始化目录,虚拟文件系统。映射当前内核状态的一个目录。 关机之后文件清空
selinux: 高级安全的内容
tmp:存放临时文件
路径
绝对路径:凡是以根开始的路径
相对路径:凡是非根开始的路径
基本命令
基本文件操作命令
linux中的文件是没有扩展名的
创建文件:touch 文件名称 如果当前目录下有一个同名的文件 touch后将会修改文件modify时间,其它什么也不做
编辑文件:gedit 文件名(用gedit打开,如果不再同一目录下需要写明目录)
echo 打印的内容 >a.txt 可以向a.txt 打印文件内容 >会覆盖原文件内容 >>会在文件后面追加
cat > a.txt 也可以向a.txt 中写入内容 cat >> a.txt 同上 回车后输入需要添加的内容
查看文件:cat a.txt
拷贝文件:cp 源文件 目标路径;
拷贝文件夹: cp -r 需要拷贝的目录 目标位置
剪切文件:mv 源文件 目标路径
删除文件:rm 源文件; rm -r 删除目录;rm -f(--fource)强制删除
帮助
翻页 shift+pgup shift+pgdn
--help
...多个
[] 表示可选项
{}表示必选项
<> 表示必选项
| 表示二选一
{|} 必选一个
没有被任何括号括起来的也是必选项
man
rhel5 中man手册分为9章
1、命令
2、系统调用
3、C语言标准库
4、预留的
5、配置文件写法
6、游戏
7、杂项
8、系统管理命令
9、有关内核的
man -f 要查的 可以知道都在那一章有
man -k 要查的 会搜索所有含 要查的 内容
搜索关键字 /要搜索的关键字 n 向下翻 N向上翻 g最顶端 G最底端
编辑器
gedit
vim
nano
emacs
vim
《vi与vm》
vim 文件名 打开文件
命令模式:
从命令模式到编辑模式:
在命令模式中:
a(光标位置后面),i(光表位置前面),
o(换行),r(单个字符替换),A(行末),I(定位到行头),O(在上一行开始),R(替换)
从编辑模式到命令模式:ESC
复制:yy 数字+yy 多行复制
粘贴:p
删除:dd 删除3行 前面加3
剪切:dd
撤销:u
回滚:ctrl+r
删除当前光标位置以后的内容:D 命令模式
删除当前光标位置之前的内容:ctrl+u 编辑模式
可视块模式:ctrl+v shift+i 插入内容 两次ESC
可视行模式:shift+v
自动缩进:shift+v =
可视模式:v
用 v 取消可视化模式 两次和一次(可视模式)
gg 回到顶端
G 回到底端
编辑模式:
尾行模式:进入尾行模式: 1、用 / 2、 :命令
:set nu 显示行号
:set nonu 取消行号
把tab变成4个空格 vim /etc/vimrc 所有目录都会生效
vim ~/.vimrc 在想生效用户家目录下创建
set ts=4
set sw=4
不区分大小写 set ic
取消 set noic
自动缩进 set si
set ci
:sp 在同一个终端中打开一个文件 上下对比
:vsp 在同一个终端中打开一个文件 左右对比
退出:q
保存退出:wq
强制保存退出:wq!
替换:%s/源关键字/替换以后的内容/g
% 表示所有行 不写%为 替换当前光标所在行
8 表示替换第8行
5,10 表示替换5到10行
g 表示global 一行里面所有的关键字 不过不加表示只替换第一个
查看IP地址 ifconfig
vncviewer 控制远程桌面
到桌面路径 Desktop
ctrl+l 清屏
ctrl+d 正常结束
ctrl+c 强制结束
e! 回到文本刚刚打开的状态
用户和组
用户
创建用户:useradd 参数 用户名称
uid:user identify 系统识别帐户的标识
数字:系统帐户(0~499) 非手动添加,安装软件后系统自动生成帐户
普通帐户(500~)
gid:group identify 系统识别组的标识
描述:对用户的描述,例如:性别,家庭住址,电话等
家目录:
登录shell:每一个帐户都会有一个登录shell 默认shell:bash
锁定登录shell:把登录shell改成nologin
当我们添加帐户后会自动添加到etc/passwd
useradd -u 1000 用户名 指定用户uid 1000
useradd -g 10 用户名 指定gid
useradd -c 描述字符
useradd -d /user1 指定家目录
useradd -s 指定登录的shell
useradd -M user1 不创建家目录
passwd分为7列 以:分开
用户名:密码:uid:gid:描述:家目录:登录shell(默认是bash)
/etc/shadow 这个文件中存放了真正的密码
查看用户:id+用户名 或者到/etc/passwd这个文件中查看
设置密码:passwd 直接回车会修改当前登录用户密码
passwd 用户名称 修改用户密码
普通帐户不能修改其他人的密码,普通帐户不能设置自己的初始密码
锁定密码:passwd -l 用户名
解锁密码:passwd -u 用户名
查看用户:cat /etc/passwd
切换用户:su- 用户名
删除用户:userdel 用户名
userdel -r 用户名 连带个人信息一起删除
组
每次添加一个新的帐户就会产生一个同名的组,我们把这个组成为主属组。
附属组:
改变用户附属组:usermod -G 组名 需要添加的用户名
添加一个新组:groupadd 组名
查看组:cat /etc/group
组名:组密码:组id:组成员
修改组:
删除组中成员:gpasswd -d 用户名 组名
把用户添加到组(增加用户附属组):gpasswd -a 用户名 组名
添加组管理员:gpasswd -A 用户名 组名(可以添加删除用户) ?怎么删除组长
查看组长:cat /etc/gshadow
组名:组密码:组长:组员
给组添加密码:gpasswd 组名
etc下的passwd和group,除了密码不能修改外,其它字段可以随便改。
权限
chown:可以修改一个文件的所有者和所属组
chown 用户名 文件名 把文件分给用户
chown .文件所属组 文件 修改文件所属组
chown 文件所有者.文件所属组 文件 修改文件所属组和文件所有者
基本权限
ugo权限:user group other
--- --- ---
r read :cat
w write :目录-》删除,创建
x execute:文件 目录
修改权限:
1、字母 chmod u+x 文件名 给文件所有者添加x权限 以此类推 g+ ,o+ 多个权限变更中间用逗号分开
chmod a-w 去掉三个部分的w
2、数字 4=r 2=w 1=x 数字是八进制的 -是0
u g o
rw- r-- -wx
420 400 021
6 4 3
chmod 033 文件名 将会改成 --- -wx -wx
umask码
是用来控制文件和目录默认权限的
系统在没有umask的情况下创建文件的权限是666,创建目录的权限是777
设置umask码 umask 三位数字
高级权限
suid:suid经常被加在可执行文件上,当加了suid之后,执行这个命令的人就会拥有命令对象所有者的权限
切换普通帐户
chmod 4755 文件名(`which cat`) which cat 会得到一个结果
chmod 4755 $(which cat) 同上
cat /etc/shadow
sgid:经常给目录用,当给一个目录加了sgid之后,后面不管谁来这个目录下面创建文件,文件的所属组都会继承目录
su -用户名
touch a.txt 建立一个文件
chmod 2777 目录名
sticky:当给一个目录加了t权限之后,所有人在这个目录下不能删除其他人的文件
chmod 1777 目录名
隐藏权限
加了隐藏权限的文件,root帐户也不能删掉,被加了隐藏权限的文件,可以读,不能删除,不能覆盖
chattr +i 文件名(目录) 添加隐藏权限 不可能向文件中追加内容 取消隐藏 -i
lsattr 文件名(目录) 查看隐藏权限
chattr +a 文件名称 添加隐藏权限 可以继续向文件中追加内容 取消隐藏 -a
facl
打包压缩
tar:打包命令,不带压缩功能
打包命令:tar cvf 打包后的文件名(.tar) 文件1 文件2 文件3
解包命令:tar xvf 需要解的包 -C /解压后的路径/
c create 创建
v verbose 详细过程
f file 文件
-C 指定解压目录
打包一起压缩: tar cvzf 压缩包名.gz 文件1 文件2
tar cvjf 压缩包名.bz2 文件1 文件2
gzip: 压缩命令,不会进行打包
压缩命令:gzip 需要压缩的包
解压命令: gunzip 需要解压的压缩包 解压出来是包
tar xvzf 需要解压的压缩包 可以解压缩解包一起 (-C //)
bzip2: 压缩命令: bzip2 包名
解压缩: tar xvjf 需要解压缩的压缩包(-C //)
- 普通文件
d 目录文件
b 块设备文件(block)
c 字符设备文件
s socket
p pipe管道文件
l 符号链接文件
.............................................................................................
对目录来说 cd 需要什么权限
测试t权限
测试打包压缩
创建帐户user1,user2两个帐户。使用user1创建目录/user1,修改其权限,要求user2不可以在/user1里面创建文件,但是
user3可以
查看usermod命令的man手册,如何锁定帐户(非锁定登录shell),做实际测试
创建用户tom,创建组caixu和xingzheng,要求tom的主属组为caiwu,附属组为xingzheng.
查看chmod的man手册,如何递归修改目录权限。
.............................................................................................
rpm yum 红帽
查看系统版本 uname -r
lsb_release -a
挂载镜像
.iso 镜像
mount -o loop /路径/镜像名.iso /mnt(此目录为挂载目录,也可以自己更改一个,但必须是空目录)
虚拟机(挂载光驱)
mount /dev/cdrom(cdrom-sr0,cdrw,cdrw-sr0) /mnt
卸载挂载镜像 umount 挂在点
检查是否挂载成功
cd mnt 看是否有光盘里的东西
images, isolinux 有这两个文件就说明挂载成功
/mnt/packages 红帽6软件
/mnt/Server 红帽5软件
软件包名字构成
软件名称-版本号(主版本号.次版本号.修订版本号-修改号)-使用于操作系统版本-平台(例如:i386).rpm
软件安装
rpm -ivh 软件包名称
-i install
-vh 显示详细信息
强制安装软件: rpm -ivh 软件包名称 --force
--nodeps 不检查依赖性强制安装
--nodeps 卸载的时候不检查依赖性关系强制卸载
过滤命令
ls |(管道符) grep(过滤命令) vnc(需要过滤的关键字)
查看软件名称 rpm -qa | grep vnc 所有已经安装到系统中的软件
查看软件安装目录 rpm -ql 软件名称
查询软件信息 rpm -qi 软件名称
q query 查询
a all
l list
软件启动
查看启动命令
rpm -ql 软件名称 bin目录下的文件就是启动文件,名字就是启动命令
通过启动命令查找对应软件
查询命令绝对路径: which 命令名
查询命令软件: rpm -qf 命令绝对路径
/etc/motd
可以在这个文件中修改登录欢迎界面
卸载软件
rpm -e 软件名称
卸载软件的时候先卸载主包,在卸载依赖包
客户端
mysql
服务器端:
mysql-server
yum
客户端:安装软件的机器
客户端需要配置文件:/etc/yum.repos.d/yum.repo(配置文件自己起名 但是必须要.repo结尾)
清空目录下所有文件:rm -f /etc/yum.repos.d/*
编辑配置文件:
所有行顶格写
-----------------------------------
[rhel5] 名字 用来区分其他的yum源
name=rhel5 yum源的描述
baseurl=file://本地yum源的绝对路径(/mnt/Server)
enabled=1 1表示yum源可以使用 0表示不可以使用
gpgcheck=0 不检查软件
-----------------------------------
yum命令:
yum客户端命令:
安装:1、查看要安装的软件名称: yum search 软件名 查询已经安装的和没有安装的
2、安装:yum install 软件名
可以同时安装多个软件 用空格隔开
3、列出已经安装系统上的软件和yum源里面没有安装的软件: yum list
4、列出已经安装的和没有安装的软件组:yum grouplist 安装组软件 yum groupinstall 软件组名称
5、yum clean all 清理yum缓存
6、
卸载软件: yum erase 软件名
yum remove 软件名
服务器端:提供yum源
客户端和服务器在一起:本地yun源
客户端和服务器端分开:远程yum源
进程
查看系统中所有进程:ps -e
pid : tty : time : CMD
进程标识 第几个终端上运行 程序运行的时间 进程的名称
(?运行在后台的进程)
把图形应用程序放在终端的后台 程序运行命令 &
杀死进程:kill -9 进程的pid
-9 强制杀死 或者 kill -kill 等价 kill -9
-15 (term) 正常杀死 如果不写-15 默认为正常杀死
-18 (cont) 激活
-19 (stop) 暂停
xkill 改变鼠标状态 点哪哪死 退出ctrl+c
-l 查看所有的信号
man 7 signal 查看信号对应的解释
ps aux: 查看所有进程
ps auxf:
ps -ef:
top:
pgrep 进程名称:
kill:
pkill 进程明称:
lsof -i:端口号 : 查看进程号
pidof 进程名称: 查找进程ID
找回root密码
1、重启系统进入特权模式 上下键进入
2、按 e 选择 第二行 按 e
3、空格 1 回车
4、b
特权模式不需要密码,直接进入帐户
服务
ssh:
1、安装软件 yum install openssh -y
2、配置
3、启动 /etc/init.d/sshd start 客户端:lftp
重启 -----------------restart
停止 -----------------stop
4、测试(使用)
远程管理,远程登录目标机: ssh 用户名@ip地址 如果用户明是ROOT则用户名可以不写
远程拷贝:
w:可以查看登录到机器上的人
killall sshd 杀死登录本系统的人,同时关掉ssh
退出远程登录的系统:exit
查看IP地址:ifconfig
设置ip :ifconfig eth0 ip地址
hostname:查看主机名称
修改主机名称:hostname 主机名称
登录解析文件:/etc/hosts
把-->> ip地址 主机名称 写入上面的文件中就不会出现登录卡的现象
远程拷贝文件
scp 被拷贝文件 目标地址
未登录:
本地-->> 远程
scp 文件 ip地址:/路径/
已登录:
远程-->>本地
scp 文件 ip:/路径/
.......................................................................
tftp(向arm板里面传东西)
客户端:tftp
登录:tftp ip(服务器的ip地址)
下载文件:get 文件名(存在当前目录下)
退出:quit
服务器端:tftp-server
启动服务:chkconfig tftp on
关闭服务:chkconfig tftp off
拷贝文件目录:
rhel6: cp a.txt /var/lib/tftpboot/
rhel5: cp a.txt /tftpboot
修改权限:chmod 777 /tftpboot -R(递归修改)
.......................................................................
vsftpd 下载服务器
安装软件:vsftpd
服务器端:vsftpd
启动服务: /etc/init.d/vsftpd start
-------------- restart
拷贝文件目录:
/var/ftp ftp他的权限不能大于755 ftp的家目录,共享文件目录
在ftp下建立目录download 改变权限成 777 在download目录下我们交换文件
客户端:lftp
登录:lftp ip(服务器)
>ls //就可以看到里面东西
>cd download 查询内容
>get aa.txt -o /下载目标路径/ 下载文件
>mirror 需要下载的目录 /目标路径/ 下载目录
退出:quitcd
............................................................................
关闭防火墙:
/etc/init.d/iptables stop
关闭selinux:
setenforce 0
虚拟机快照 相当于虚拟机系统的备份
......................................................................................
http www服务器
安装软件:httpd yum install httpd -y
启动服务:/etc/init.d/httpd start
家目录:/var/www/html
发布网站:
启动服务
cd /var/www/html/
vim index.html
下载用服务器: /var/www/html/download 需要先往家目录里面建立一个目录,然后将需要下载的文件拷贝进去
客户端:ip地址/download 就到了下载连接了
date 查看当前时间
计划任务
at:一次性
at 时间(15:00)
>操作 例如:touch /tem/aa.txt
>ctrl+d(结束操作)
crontab:循环性
启动服务:/etc/init.d/crond restart
编写计划任务:crontab -e
时间 动作
分钟(0-59)小时(0-23)日(1-31)月(1-12)周(0-7) 命令(wall haha)
*/1**** wall haha
*/5 每隔五分钟
10 每个小时的第10分钟
* 每天
5,8 每个小时的第5,第8分钟
5-10 每小时5,6,7,8,9,10分钟都执行
取消计划任务:Crontab -e 清空
wall 内容 在所有终端中打印消息
日志
系统日志存储位置 /var/log
常用日志: messages
实时查看日志:tail -f /var/log/messages
tail -f xerlog ftp日志
w 查看tmp日志 当前登录系统的用户
last 查看 wtmp日志 查看一个月之内登录系统的用户
lastlog 查看lastlog文件 系统内的帐户最后一次登录系统的时间
视频
shell
添加100个帐户
#!/bin/bash //指定一个命令解释器
for((i=101;i<=1000;i++))
do
if test $i -eq 200
then
exit
else
useradd user$i
echo "添加第" $i "个帐户成功"
fi
done
Linux命令整理
最新推荐文章于 2024-09-13 14:10:55 发布