这是三天的linux学习笔记,大神可以指教,别喷我,我新手。
20140825.学习笔记
开启新终端 ctrl+shift+n
关闭终端 alt+F4
扩大终端 ctrl+shift+“+”
缩小终端 ctrl+“-”
开启新的终端标签 ctrl+shift+t
关闭终端标签 ctrl+shift+w
标签之间的切换 alt+标签对应的编号
切换到真实终端tty3 ctrl+alt+F3
tty回到图形 alt+F1或者F7
快捷键设置
终端--->编辑--->键盘快捷键
设置终端字体颜色
终端--->编辑--->侧写首选项
关闭防火墙
iptables -L 查询防火墙规则
iptables -F 清楚规则
service iptables save 保存规则
关闭selinux(安全增强组件)
setenforce 0
gedit /etc/selinux/config
ELINUX=disabled
下载笔记
位置---->连接服务器---->输入ip地址---->连接
连接远程桌面
vncviewer 172.16.10.1
基本命令
命令 [参数].... [文件]....
ls -l install.log
ls 显示当前目录下所有文件名
ls -lh 配合l显示出当前文件权限与大小
-#rw-r--r--#. #1 #root #root# 69835 #8月 25 2014 #install.log
文件类型#基本权限位#该文件是否在开启selinux状态下创建#硬链接数#文件拥有者#文件所属组#文件大小(字节)#最后一次修改时间#文件名
七种文件类型
- file 普通文件
d directory 目录文件
l symbolic 符号链接文件
b block 块设备文件
c charset 字符设备文件
p pipe 管道文件
s socket 套接字文件
ls -l 长格式显示 -a 显示所有文件 -A 显示除了.和..以外的所有文件 .当前目录 ..上层目录 -d 显示目录信息 -h 按最大单位显示 -t 按时间排序 -r 反向排序 -R 递归
-S 按文件大小排序
练习:
1. 查看一下 /etc/passwd 是什么类型文件? /dev/tty3 什么类型 /dev/sda 什么类型?
2. /boot目录下总共有多少个文件(包括隐藏文件)
3. 查看/etc/man.config文件的大小
4. 操作一下其他参数
cd
绝对路径:从/目录开始的路径 /var
相对路径:相对于当前目录的路径 var
pwd显示当前所在位置
cd /var/log/ ~ 家目录 cd ~ cd . cd .. cd ../.. cd - 返回上次工作目录
pwd 显示当前目录
cd /var/log
20140826.学习笔记
获取帮助 ls --help
1.ls --help
2.info ls
3.type ls
4.alias la="ls -l" 制作别名 注:不保存,只在当前终端生效
5.man 相应命令
man ls 查看ls命令使用方法
man 1 用户命令 *
man 2 系统调用
man 3 库调用
man 4 特殊文件
man 5 配置文件 *
man 6 游戏
man 7 杂项
man 8 系统命令 *
man -f 显示在那些章节里有相应到说明
makewhatis
man -k passwd | grep -- color passwd 模糊查询
/跟目录下到目录作用
/bin /usr/bin /usr/local/bin用户可执行目录
/sbin /usr/sbin /usr/local/sbin 系统可执行目录
/lib /usr/lib /usr/local/lib 库文件/目录(库文件和模块文件)
/lib64 /usr/lib64 /usr/local/lib64 64位库文件目录(库文件和模块文件)
/usr 程序目录
/dev 设备文件目录
/etc 配置文件目录
/var 服务器数据目录
/boot 引导程序目录(引导程序,内核,启动文件)
/root root管理员家目录
/home 所有普通用户的家目录
/tmp 临时文件目录(计划任务,安装软件,)定时清除不执行文件
/proc 伪文件系统(内存信息居多,进程信息,硬件信息)
/sys 伪文件系统(内存信息,进程信息,硬件信息)
/cgroup 资源管理
/opt 第三方软件目录
/mnt 其他挂载点
/media 媒介目录
/misc /net autofs服务所使用到目录
/selinux selinux安全增强组件使用目录
/srv 服务数据目录
/lost+found
查看文件内容
head 默认查看文件内容到前十行
head -n 20 查看文件内容到前二十行
tail 默认查看结尾十行
tail -n 30 查看结尾三十行
more install.log
空格 向下翻页
回车 向下移动
b 向上翻页
q 退出
less
示例:less install.log
cat 把正个文件浏览在终端上
示例:cat -n install.log
cat -n install.log | less
cat -n install.log | head -50 | tail -1 查看install.log第五十行结果
touch 创建文件
touch tt.txt
touch xx.txt yy.txt
touch abc{1..10}.txt
touch {a,b,c}{1..3}.txt
mkdir 创建目录
mkdir abc{1..3}创建abc三个目录
mkdir -p 文件名 递归创建
mkdir -v 显示创建过程
练习:
1.进入tmp目录创建test目录
2.在/tmp/test目录下,创建100个文件和100个目录
mkdir /tmp/test
touch /tmp/test
拷贝文件
cp
cp /root/install.log /tmp/ 拷贝install.log 到 /tmp
cp /root/install.log /tmp/test/ 拷贝并重命名
cp -r 递归拷贝 连同文件下到文件一起拷贝
cp -r /root/install.log/ /tmp/zz
剪切文件
mv 源文件地址 目标地址
示例:
mv /root/abcf /tmp 剪切abcf到/tmp下
mv /root/abcf /tmp/abch 剪切文件并重命名
mv yy.txt /tmp 将相对路径下到文件剪切到tmp下
mv /root/yy.txt /tmp/zz.txt
mv tt.txt ppp.txt 重命名文件
练习:
创建/tmp/dir目录
mkdir /tmp/dir
拷贝/root/install.log文件到/tmp/dir目录
cp /root/install.log /tmp/dir
拷贝/mnt目录到/tmp/dir目录下
cp -r /mnt /tmp/dir
剪切/tmp/dir/install.log文件到/tmp/dir/mnt下
mv /tmp/dir/install.log /tmp/dir/mnt
删除
rmdir 只能删除空目录
rm -rf -r 递归 -f强制
rm -rf *.txt 删除当前所有目录下的txt文件
rm -rf abc* 删除当前目录下到所有以abc开头到目录
rm -rf *删除当前目录下所有文件(慎重操作)不要在/ /root下执行
练习:
1.创建一下目录结构(1条命令创建)
/tmp/aa-在目录下创建ca/ cb/
mkdir /tmp/aa/c{a-b}
2.拷贝/etc/man.config文件到ca下 并且重命名为test.txt
3.移动test.txt到cb下
4.删除test.txt文件
vim 文本编辑器
vi 黑白文本显示
vim 带颜色字体显示
命令模式
>进入输入模式
vim aa.txt 按a 进入输入模式注:每次操作结果输入到时候必须按下Esc返回
a当前字符后输入
A当前行尾输入
i当前字符前输入
I当前行首输入
o当前行下一行输入
O当前行上一行输入
u撤销一步操作
yy 复制一行 p粘贴
3yy 复制3行
dd 剪切一行 p粘贴
dd 750g
gg 首行
G 尾行
dgg 删除从当前行到首行
dG 删除当前行到尾行
ygg 复制从当前行到首行
yG 复制从当前行到尾行
esc返回
末行模式
:w保存 :q退出 :wq保存并退出
:w! :q! :wq! !强制不提示保存或退出
:2,4w new2.txt 另存
:e /root/new.txt 绝对路径到一个文件
:r /root/new2.txt 追加读入某一个文件
:e!强制打开当前文件
:set nu 设置行号
:set nonu 取消设置行号
/ 查找字符串 n 下一个 N 上一个
?a 查找
:s/ab/XX/ 只替换当前行匹配到的第一个字符串
:%sab/XX/ 替换当前每行匹配到到第一个字符串
:%sab/X/g 替换当前所有到ab字符串
:2,5,/ab/X/g 替换2,5行到字符串
:2,5,/ab/X/gc 替换字符串问是否替换(交互替换)
d^删除当前字符到行首
d$删除当前字符到行尾
y^复制当前字符到行首
y$复制当前字符到行尾
%每一行 s 替换 g 全局 c交互式
^行首 $行尾
esc返回
练习:
1.再每一行前边都添加一个#号
:%s/^/#/
2.将所有行替换成*
:%s/^.*$/*/
3.删除掉文件中所有的空格
:%s/ //g
4.删除文件中开头的空格
:%s/^ *//g
5.将文件中所有的空格替换成制表符\t
:%s/ /\t/g
6.将文件中所有的行合并成一行\n
:%s/\n//
vimtutor vimtutor教程
20140827.学习笔记
用户管理
pts shell
shell 命令解释器
suse linux
nologin 不可交互式shell
id
uid 用户信息
gid 主组
组 附加组
用户 组
root uid=0 (管理专属uid) root gid=0
system user uid=1-499 system group gid=1-499
普通用户 uid=500-60000 普通用户组 gid=500-60000
添加帐号命令
useradd
帐号文件/etc/passwd
raobin:x:501:501:/home/robin:/bin/bash
用户名:密码占位符:uid:gid:描述信息:家目录:shell
密码占用符:x 删除x即清空密码
useradd -u 550 user1 uid
useradd -u 551 -g oracle user2 gid
useradd -u 552 -g oracle -c hello user3 描述信息
useradd -u 553 -g oracle -c hello -d /tmp/user4 user4 家目录
useradd -u 554 -g oracle -c hello -d /tmp/user5 -s /bin/tcsh user5 shell
添加组命令
groupadd
groupadd upup
组配置文件 /etc/group
upup:x:551:
组名:密码占位符:gid:[用户名]
groupadd -g 1000 kevin
userdel 删除用户名
userdel -r king r 递归删除
passwd 修改密码
paaswd king 修改特定用户密码
特定用户在用户登录模式下修改密码需要验证当前密码
练习:
添加组 kkk gid为2000
groupadd - g 2000 kkk
添加用户king uid 为 2000 属于kkk组 描述为 linux 家目录在/mnt下 shell为bash
useradd -u 2000 king -g kkk -c linux -d /mnt/king -s /bin/bash
添加完成后su - king 测试
su - king
密码到配置文件 /etc/shadow
king:$6$v.9GnrIu$Nm.djII/Iaeh8c.Az206citwhJqx2V7s7r5s1a5/MiQQ7lJE/x1fjjNHD7r0u5.S7nsfnyatVLQb1N1c26IAw.:16309:0:99999:7:::
第一列:用户名
第二列:密码 有密码 !!密码锁定 *该帐号永久性不能登录系统
修改帐号
groupmod -n 修改组名
groupmod -n newupup upup
groupmod -g 修改gid
groupmod -g 900 newupup
usermod 修改用户信息
usermod -u -g -c -d -s 用户名
usermod -d /home/user5 user6 (将原有到家目录下到用户目录移动到现在更改到目录在家目录)
usermod -l 修改用户名
usermod -L 锁定用户
usermod -U 解锁用户
修改密码用到到一些参数
passwd -S 密码状态
passwd -l 锁定密码
passwd -u 解锁密码
删除用户
userdel -r 递归删除
删除组
groupdel (删除组之前必须先把组成员删除掉或改为其他组)
权限
chgrp :改变目录所属群组
chown :改变目录拥有者
chmod :改变目录的权限, SUID, SGID, SBIT 等等的特怅
ls -l install.log
-rw-r--r--. 1 robin uplooking 69835 8月 25 21:03 install.log
rwx | rwx | rwx
user group other
robin uplooking
u g o
aa.txt rw-|r--|--- jack upup
jack
zorro upup
jack upup
root---------jack-----upup------other
u(user)=用户
g(group)=用户组
o(other)=其他
a(all)=所有用户
对于文件
可读r(read)--------cat head more less tail
可写w(write)-------vim gedit > >>
可执行x(exec)--------./(相对) /root/test.sh
对于目录
可读r(read)--------ls r-x
可写w(write)-------touch rm -wx 只能删除已知文件 rwx rm -rf *
可执行x(exec)--------cd
echo 输出到终端或文本显示
> 覆盖
>>追加
/test/ rwxrwxr-x root root
aa.txt rwxrwxrwx root root
robin
/test/ rwxrwx--- root root
/test/aa/ rwxrwxrwx root root
/test/aa/aa.txt rwxrwxrwx root root
robin
修改权限
chmod u+r file/dir
chmod u+r,g+w file/dir
chmod u+r,g-w,o+rw file/dir
chmod ug+rw,o-r file/dir
chmod ugo+rwx file/dir
chmod a+rwx file/dir
(=清空所有权限,直接设定权限)
chmod u=r file/dir
chmod u=r,g=w file/dir
chmod u=r,g=w,o=rw file/dir
chmod ug=rw,o=r file/dir
chmod ugo=rwx file/dir
chmod a=rwx file/dir
练习:
1./tmp创建文件aa.txt 要求:-wx--xr--
chomod u-r,u+x,g-r,g+x aa.txe
chmod u=rx,g=x aa.txt
2./tmp创建文件tt.txt 要求:拥有者可以读 所属组可以写 其他人每权限
chmod u=r,g=w,o=- tt.txt
3./tmp/创建目录yyy 要求:拥有者可以删除所有文件 所属组没有权限 其他人可以读该目录下的文件名
chmod u=rwx,g=-,o=r yyy/
4.查询以下文件权限并且记住
/ r-xr-xr-x 可读可执行-可读可执行-可读可执行
/etc/ rwxr-xr-x 可读可写可执行-可执行可写-可执行
/usr rwxr-xr-x 可读可写可执行-可执行可读-可执行
/tmp rwxrwxrwt 可读可写可执行-可读可写可执行-可读可写可执行
/root/ r-xr-x--- 可读-可执行可读-可执行
/home/robin rwx------可读可写可执行-无权限-无权限
/etc/passwd rw-r--r--可读可写-可读-可读
/etc/shadow ---------无权限-无权限-无权限
数字表示权限算法
r==============4
w==============2
x==============1
r-x--x-wx 513
123 --x-w--wx
拥有者到所属组
aa.txt rwxr-x--- kevin root
chown 修改拥有者权限
-R 递归修改
chgrp 修改所属组
kevin
.=:(同时修改用户组到时候可以用来替代)
chown -R robin:uplooking test/
chmod -R 777 test/
练习:
1.root用户创建文件/tmp/test.txt
要求:robin可以读写test.txt uplooking组可以读test.txt文件 其他人没有权限
chown -R robin:uplooking /tmp/text.txt/ | chmod 640 /tmp/text.txt/
2.在/tmp目录下创建dir目录 在dir目录下创建xx.txt文件
要求:robin用户可以读写xx.txt文件 但是不能删除xx.txt文件
zorro用户不可以读写xx.txt文件 但是可以删除。
/tmp/dir/ rwxr-xr-x zorro root
/tmp/dir/xx.txt rw-r----- robin root
robin
zorro
chown robin /tmp/dir/xx.txt
chmod 640 /tmp/dir/xx.txt
chown zorro /tmp/dir/
mkdir -p dir/xx.txt
chown robin /mnt/dir/xx.txt | chmod 640 /mnt/dir/xx.txt | chown zorro /mnt/dir/
3.按以下要求分配权限.
某公司有个财务报表文件cw.txt 对以下3类员工分配权限
1.boss
2.财务部门员工
3.其他员工
cw.txt r--rw---- boss cw
aa.txt ------rwx boss kkk
boss
yg
groupadd -g 8888 cw
useradd -u 9999 -g cw -d /tmp/boss/ -s /bin/bash boss
useradd -u 6666 -g kkk -d /tmp/yg/ -s /bin/ksh yg
chown -R boss:cw cw.txt/ | chown -R boss:kkk aa.txt
chmod 460 cw.txt/ | chmod 007 aa.txt
进程管理
可执行程序,守护进程
一般都是静态查询
ps -ef
pid 进程id号
tty 下到?号不依赖终端启动到进程
uid 用户启动所有者
pid 用户进程id号
ppid 父子进程id号
C使用CPU到百分比
Stime 启动时间
ps a 显示所有在终端上运行到进程
ps -u 用户
ps -x 所有进程
VSZ 虚拟内存
RSS 真实消耗内存 单位为K
top
kill -9 pid
pkill httpd 进程名陈 将所有相关进程名陈pid全部杀死 无返回状态
killall httpd 有返回成状态
xkill 骷髅杀死法 :) 在redhat6之前存在
20140827学习笔记
top
tasks进程组
sleeping 休眠
stopped 停止状态
zombie 僵尸进程
pr优先级
VIRT虚拟内存
RES真实内存
SHR 共享内存
前后台切换
xclock -updata 1 &
xclock -update 1
ctrl+z 切换到终端,并将进程挂载到休眠状态
jobs 查询后台运行进程
bg 编号 调到后台
fg 编号 调到前台
kill %编号 杀死后台进程
压缩命令
压缩命令
gzip bzip bzip2 只能压缩文件
dd if=/dev/zero of=/root/data bs=100M count=2
输入 输出 块大小
du -sh /root/data 查看文件大小
gzip /root/data压缩文件
bzib2 /root/data压缩文件
解压缩
gunzip /root/data.gz 用gzip解压缩文件
bunzip2 /root/data.bz2 用bzip2解压缩文件
视频.音频,图片,不能用压缩命令压缩.
echo $((1024*120/40/60))=51 计算
打包
tar -c 创建 v 打包过程 f文件 t查询 r追加 x解包
z调用gzip命令 j调用 bzip2命令 C制定路径解压包
tar -cvf boot.tar /boot/ (只是打包,并未压缩)
tar -tvf boot.tar 查看包里到文件信息
tar rvf boot.tar /root/data 把该文件追加当前包内
tar -xvf boot.tar 解包命令
tar -cvf /tmp/ /boot/ 打包制定目录
tar -xvf /root/boot.tar -C /tmp/ 解包制定目录
tar -zcvf /tmp/boot.tar.gz /boot/ 用tar命令调用gzip打包并压缩文件
tar -ztvf /tmp/boot.tar.gz 用tar调用gzip命令查询tar.gz文件
tar -zxvf /tmp/boot.tar.gz -C /tmp/制定解包路径
tar -jcvf /tmp/boot.tar.bz2 /boot/ 调用bzip2制定路径打包并压缩
tar -jtvf /tmp/boot.tar.bz2 用tar命令调用bzip2查询tar.bz2文件
tar -jxvf /tmp/boot.tar.bz2 -C /tmp/ 用tar命令调用bzip2制定路径解压并解压包
tgz tbz2
安装包
挂载mount
挂载光盘
mount -t iso9660 /dev/cdrom /mnt/ 挂载光盘img文件
mount 查询挂载信息
umount /dev/cdrom or umount /mnt 卸载挂载点
挂载img
mount -o loop /var/ftp/***.iso /mnt/
mount /var/ftp/rhel-server-6.4-x86_64-dvd.iso
umount -l /mnt 在目录下的时候强制卸载
umount /var/ftp/rhel-server-6.4-x86_64-dvd.iso
cd . 刷新缓存
umount
server 软件包
cluster 集群软件
clusert storage集群软件包
VT 虚拟化包
RHEL5
PACKGES 所有软件包
server 软件包
HA 高可用集群
LoadBalancer负载均衡集群软件
storage 存储软件
FS 文件系统软件
RHEL6
安装软件
rpm -i安装 -v安装过程信息 -h百分比 -e卸载 l列表显示 f文件
rpm -ivh httpd-2.2.15-26.e16.x86_64.rpm
rpm -q httpd 查询httpd是否安装过or安装成功(有返回包信息则安装成功)
rpm -e gnome-user-share
安装不能制定路径 默认到一些库跟软件包以及所使用到到函数不支持
rpm -ql httpd 查询软件安装位置目录
rpm -qa | grep --color httpd 查询安装时到所有软件过滤
rpm -qf /etc/man.config 查询命令到安装目录与安装包
rpm -qf ‘which nmap‘ 命令如果没有,查询安装
依赖关系的解决
[root@localhost Packages]# rpm -ivh httpd-devel-2.2.15-26.el6.x86_64.rpm
warning: httpd-devel-2.2.15-26.el6.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY
error: Failed dependencies:
apr-devel is needed by httpd-devel-2.2.15-26.el6.x86_64
apr-util-devel is needed by httpd-devel-2.2.15-26.el6.x86_64
rpm -ivh apr-devel-1.3.9-5.el6_2.x86_64.rpm
rpm -ivh expat-devel-2.0.1-11.el6_2.x86_64.rpm
rpm -ivh apr-util-devel-1.3.9-3.el6_0.1.x86_64.rpm
rpm -ivh httpd-devel-2.2.15-26.el6.x86_64.rpm
yum库
1.mount /var/ftp/rhel-server-6.4-x86_64-dvd.iso /mnt/ -o loop 挂载
2.cd /etc/yum.repos.d/ 进入目录
touch yum.repo 创建yum 后缀文件名为repo
3.vim yum.repo 编辑新创建到yum库
[rhel6-server] yum名称
name=cdrom source 描述其来源
baseurl=file:///mnt/ 挂载点目录
enabled=1 开启
gpgcheck=0 是否校验
yum clean all 清除yum缓存
yum makecache 创建yum缓存
yum list 显示yum下到软件包列表
yum install httpd-deverl安装软件
yum remove 清除软件(注意:如果出现错误,删除/etc/yum.repos.d/下的原有目录即可)
计划任务
service crond start
crontab -e 编辑 -l 查询
* * * * *
分 时 日 周 月
分(0-59)
时(0-23)
日(1-31)
月(1-12)
周(0-7 0和7都是周日)
date 当前系统时间命令
restart 重启服务
start 开启服务
* * * * * date >> /tmp/data.txt 每分钟1次
10 * * * * date >> /tmp/data.txt 每小时的第10分钟执行
10 02 * * * date >> /tmp/data.txt 每天的2点10分钟执行
10 02 5 8 * date >> /tmp/data.txt 每年到8月5号2点10分
10 02 5 8 7 date >> /tmp/data.txt 每年到8月5号2点10分或者每周日到2点10分
*/15* * * * date >> /tmp/data.txt 每15分钟执行一次
10 02 5,10,15,25 * * date >> /tmp/data.txt 每天的5,15,25号到2点10分
10 02 1-10 * * date >> /tmp/data.txt 每月到1-10号执行.
作业:
1.在你的系统时间2分钟后,在/tmp/下创建文件test.txt
2.在你的系统时间5分钟后 添加一个用户jerry并且在该用户家目录下创建文件aa.txt
3.在你的系统时间3分钟后,拷贝/etc/hosts文件到/tmp下
4.在你的系统时间3分钟后,安装软件dos2unix-3.1-37.el6.x86_64.rpm
5.在你的系统时间6分钟后,将/etc打成压缩包 保存到/tmp下
32 21 * * * /bin/touch /tmp/text.txt
35 21 * * * /bin/useradd -d /tmp/jerry jerry | touch /tmp/aa.txt
36 21 * * * /bin/mv -f /tmp/aa.txt /tmp/jerry
33 21 * * * /bin/cp -r /etc/hosts /tmp
33 21 * * * rpm -ivh /mnt/Packages/dos2unix-3.1-37.el6.x86_64.rpm
36 21 * * * tar -zcvf /tmp/etc.tar.gz /tmp/
安装软件tree-1.5.3-2.el6.x86_64.rpm 问:tree命令有什么用?
创建目录/yum 在该目录上配置yum库
安装软件vsftpd 卸载vsftpd
运行程序vim /root/install.log 在后台运行 将其调入前台?
本文出自 “无极狼盟” 博客,请务必保留此出处http://9935226.blog.51cto.com/8919044/1546300
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。