文档库 最新最全的文档下载
当前位置:文档库 › linux笔记

linux笔记

权限:三个三个一组:文件的拥有者(u)、文件所属组的成员(g)、其他用户(o)
权限类型前面:
- 一般文件
d 目录文件
b 块设备文件
c 字符设备文件
l 链接文件(快捷方式)
p 人工管道
更改文件权限:
chmod u/g/o+(-)
chmod u/g/o=rwx
chmod 644 (644=r+w、r、x)
建立链接
ln
ln /目录/原文件 /目录/建立后的文件(可以名字不相同)
ln -s /目录/原文件 /目录/建立后的文件(可以名字不相同)
输入内容:echo"内容"> /目录/文件
改变文件的拥有者:chown 用户
改变文件所属的组:chgrp 组
用户和组一起改变:chown 用户 组

在每一个目录下都有一个.文件和..文件,.文件是对当前目录的一个硬件连接,
..文件是对上级目录的一个硬件连接(实例:cd. cd..)
切换用户:su - 用户名
创建目录:mkdir
创建文件:touch
针对u,g,o分别有set uid(强制位),set gid(强制位),setcky(冒险位)
强制位和冒险位添加在执行权限的位置上,如果该位上已有执行权限,则强制位与冒险位以小写
字母的方式表示,否则以大写字幕方式表示。g chmod g+s 加s 、 u chmod u+s 加s
o chmod +t 加t
默认情况下,文件有w和x权限,则任何人都可以在此目录增加和删除文件。
一旦目录设置了冒险位,则在此目录中,只有文件拥有者、目录拥有者与系统管理员才可以删除文件。
设置set uid(4) 、gid(2)、sticky(1):chmod 7777 /目录/文件
在可执行文件上,用户可以添加set uid和金set gid。
set uid只能在文件上设定 ,set gid可以在文件和目录上设定,sticky只能在目录上设定
指令文件上强制位,可以让用户执行的指令,以指令文件的拥有者或所属组的身份运行程序。
umark:新建文件的权限, umark -s来显示 一般用户的默认umark为002,系统用户的默认umark为022
根目录下的目录
/bin 储存常用用户指令
/boot 存储核心、模块映像等启动用文件
/dev 存储设备文件
/etc 存储系统、服务的配置目录与文件
/home 存放个人主目录
/lib 存放库文件,诸如核心模块、驱动
/lost+found 存储fsck用的孤儿文件
/mnt 系统加载文件系统时用的常用挂载点
/opt 第三方工具使用的安装目录
/proc 虚拟文件系统,包括系统讯息等资料
/root root用户的主目录
/sbin 存储系统管理用指令
/tmp 临时文件的暂存点
/usr 存放与用户直接相关的文件与目录
/var 存储在系统运行中可能会更改的数据
linux中的应用工具分为三种:交互工具、过滤器、编辑器
ls -l > listfile :把列出的信息显示在listfile文件中,文件已有的内容被取消替换
ls-l 2> text 与 ls-l 2>> text的不同 :覆盖与不覆盖
find /etc -name passwd 2> stderr >stdout
列出到同

一个文件:find /etc -name passwd &> allout=find /etc -name passwd > allout 2>&1
ls -l | more
cat fileB
echo "hello" > fileA:创建fileA文件并把hello写进fileA
cat fileB:拷贝fileA文件到fileB
cat filea fileb > file:把filea和fileb文件合并到文件file
cat file* > file1:把以file文件开头的文件的内容都复制到file1文件中
which ls 查找ls指令路径
echo $PATH 显示路径
whereis ls 搜索可执行程序的路径
slocate lolate
find [路径] [参数] [表达式]
-exec 指令 {} / ;
{}代表find找到的文件
/ 禁止转意
;表示本行指令结束
参-user、 -group 、-nouser 、-nogroup、 -name 、-perm 、-size 、-type
find /etc -size +1000k在etc文件夹中查找大于1000k的文件
find /etc -type -f在etc中查找一般文件
d:目录文件
b:块设备文件
c:字符设备文件
l:链接文件
find /etc -perm 0644:查找etc里权限为0644的文件
-0644和+0644
find /root/text/6000 -exec chown jack.jack {} / ;
wc:统计文件的行、词、字数
-l行数 、-w 字数、-c字符数
grep:显示文件中匹配关键字的行数
sort:按序重排文本并送显示
diff:报告文本差异的内容
改文件内容:vi wq
comp:报告文件差异的位置
uniq:去除文件中重复的行(并不修改文件)
cut:显示文件中的某一列f、 c
paste:将文本按列拼接
paste abc ABC > merge 水平并排
cat abc ABC > merge1 垂直并列
gzip,gunzip linux标准压缩工具 gzip -d=gunzip:解压 zcat file.gz:查看压缩的文件
compress ,uncompress 旧的unix压缩工具
bzip2,bunzip2 更新的压缩工具 -d bzcat
tar:用在磁带机、软盘、zip设备上做备份。也可以备份在一个硬盘上
主要参数:c 将文件备份出来
v 将过程输出 x 从一个文件中解出备份
备份:tar cvf backup.tar *.txt
解开:tar xvf backup.tar -C backup/
tar zcvf text1.tar.gz text 对其进行备份并且压缩 解压tar zxvf text1.tar.gz
tar jcvf text1.tar.bz2 text 对其进行备份并且压缩 解压tar jxvf text1.tar.bz2
dump/restore:备份和还原ext2/3文件系统,不可以在其他文件系统上使用,可以选择完全备份和增量备份。
dump -0u -f /var/tem/hda2dump /dev/hda1 备份
restore -rf /var/tem/hda2dump
shell :命令行解析器,是用户与系统沟通的媒介
linux采用bash为其默认shell,系统可以使用记录在/etc/shells中
设置变量:a=boobooke
获取变量a:echo $a、echo ${a}
删除变量:unset a
查看变量:set(本地和环境变量) env(环境变量)
在bash中有很多预定义环境变量
HOME:当前用户的主目录
PATH:当前用户的可执行文件搜索路径
LANG: 程序应该使用的默认语言
PS1: 行提示符
export:本地变量转化为环境变量
history
history 10
$HISTSIZE
使用!来调用过往指令
!!: 重复执行上一条指令
!a: 重复

执行上一条已a为首的指令
!number: 重复执行上一条在hostory表中记录号码为number的指令
ctrl+r :在history查找某条过往指令
简化指令:alias a='la -al'
unalias 取消一条简单的别名
命令表达式
“” 将一串字符当成一个字符来对待,如果字符串中包含特殊含义的字符,则转意
‘ ’ 将一串字符当成一个字符来对待,如果字符串中包含特殊含义的字符,不转意
` ` 引用命令的执行结果
$[] 数学运算 在括号内的表达式会被数学计算
\ yu脱符 用于取消命令行中字符的特殊含义 用于表示一行未结束
; 命令行结束符 用于在一行内分隔两个独立命令,表示一行已经结束,相当于回车键
子shell激活 ()
逻辑运算符:
与 && :当前一条指令执行成功时再执行后一条指令
或 || :当前一条指令执行失败时再执行后一条指令
快捷键
ctrl+d:输入已结束,在shell中相当于一个exit
ctrl+c:键盘中断请求
ctrl+c & ctrl+q:暂停 /恢复屏幕输出
ctrl+l:清屏,相当于clear
tab: 自动补充命令行与文件名
tab键双击可以列出所有可能匹配的选择
uname -a 显示系统信息
hostname 显示主机名
last 列出最近的用户登录
lastlog 列出每一个用户的最近登录情况
free 显示内存使用的情况
top 系统监视器
top -d 3 系统监视器刷新时间为3秒
top -b -n 2 > top.txt
ps 查询进程指令
ps aux:列出所以的进程 和ps -ef差不多
ps -l当前进程信息
pstree查看树形的进程 pstree -a pstree -aup
top & 让top在后台运行
kill -9 pid 强制删除进程
kill -l列出可以用kill结束的进程
killal -9 名字
进程的优先级,用nice值表示
以一个不同的nice值来运行程序:nice -n num command
改变一个进程的nice值:renice -n pid
在top进程按r可以修改nice值
command &:将一个进程丢到后台运行
nohup command & ctrl+z
jobs列出系统后台运行的进程
fg 将后台暂停的进程拉回前台运行
bg 激活后台暂停的进程
/proc 目录是一个虚拟的文件系统,包含了来自正在运行着的核心信息。
kcore文件不能读 内核运行的文件
系统日记:/var/log
dmesg:核心启动日志
messages:系统报错日志
maillog:邮件系统日志
xferlog:FTP服务用日志
secure:安全信息、系统登录网络连接信息
wtmp:登录记录
who:查询当前在线的用户
groups:查询用户所属的组
id:显示当前用户信息
finger:查询用户信息
usermod -c "this is zl's username" zl 更改用户的全名
usermod -d /home/zll zl 更改用户的家目录
usermod -e "2009-02-02" zl 用户密码过期时间
usermod -G root zl 用户zl加入root群组
usermod -g root zl 更改zl用户的gid为0
usermod -g 502 zl 更改zl用户的gid为502
usermod -s /bin

/csh zl 更改用户的默认shell /bin/nologin用户不能登录系统
usermod -u 改用户的uid
usermod -p 1234 zl 把zl用户密码改为1234
usermod -L zl 锁定zl
usermod -U zl 解锁zl
passwd -S zl 查看zl是否密码被锁定
userdel zl 删除用户zl userdel -r zl 干净删除zl用户
wc -l 算文件有多少行
/etc/passwd 目录 用户信息,每行一个用户
login.defs中的create home选项觉得系统在建立用户的时候是否同时创建其主目录。
系统在建立用户的主目录时,会将/etc/skel下的内容复制到新的目录下。
用户密码存放在/etc/shadow文件中
passwd文件默认权限为644,shadow文件默认权限为400.
shadow文件每一行表示一个系统用户的密码
用户通过authconfig来设定是否使用shadow文件中的md5加密。
vi wq!强行保存退出
/etc/group groupadd groupdel groupmod
passwd boobooke 为boboke组加密码
groupmod -n jack tom 把组tom的组名改为jack
gpasswd -a jack boboke 把用户jack加入boboke群组
newgrp tom 把tom变为有效群组
useradd -u 600 -g tom -G boboke -M不要家目录 -d zl1家目录为zl1 -r 系统账户 uid小于500
常用的块设备文件
/dev
/dev/hd[a-t]:IDE设备
/dev/fd[a-z]:SCSI设备
/dev/fd[0-7]:标准软驱
/dev/md[0-31]:软raid设备
loop[0-15]:本地回访设备
ram[0-19]:内存
echo hello > /dev/tty2 在第二个终端显示hello
dd :强大的copy命令
参数:
if=文件名:指定源文件
of=文件名:指定目标文件
bs=xxx:指定块的大小
count-n:指定复制块的数量
mknod创建设备文件
fdisk /dev/sda partprobe
mkswap格式化为swap分区
swapon /dev/sda6把sda6挂到系统 swapoff
dd < /dev/zero > /temp/swap bs=1M count=100 创建虚拟内存
startx:进入图形界面
logout:注销
在linux下用VI做java程序
1. Vi Hello.java
2. 输入i[进入插入模式]
3. 输入esc[进入命令模式]
4. wq表示保存退出 q!表示不保存退出
5. javac Hello.java
6. 运行 java Hello


init[0123456]
0: 关机
1:单用户
2:多用户没有网络服务
3:多用户网络服务
4:系统未使用保留用户
5:图形界面
6:系统重启

vi /etc/inittab

找回密码
进入grub引导界面输入e
选中第二行 输入e
在最后一行输入1


inode:索引节点,记录文件的属性,有指针的功能 128字节
black:逻辑块,记录文件内容,
ls -il 显示索引节点
dumpe2fs /dev/sda5 | more 查看超级块的信息

lsattr:检查文件的属性
chattr:改变文件的属性
A:被修改后更改时间不会改变
a:只能对追加,不能覆盖文件内容
d:不会被备份
l:不会被改变,删除,重命名
j:系统会文件本身把信息记录到系统日志里
S:被更改时运用到文件系统

chattr +i 文件 -i
ext3文件系统即一个添加了日志功能的ext2文件系统,可以与ext2

文件系统无缝兼容。

ext2 先写入缓冲区buffer,buffer满了再写入硬盘
ext3 先写入缓冲区buffer,满了会通知日志,再写入硬盘空间,写完了又通知日志,说写完了。

创建文件系统:
mkfs 可以创建各种文件系统 mkfs -t ext2 /dev/sda5
mke2fs 创建ext2/3文件系统,支持指定block大小功能 ,默认创建ext2 -j参数创建ext3
mke2fs -b 2048 /dev/sda5 块大小为2048 最大4096 -i 指定索引节点大小
-N 3000 3000个节点 -m 10 保留10%空间给root使用 -L data 为文件系统创建卷标data

mount /dev/sda5 /opt 挂载sda5
mount -o ro /dev/sda5 /opt 只读,不能创建文件目录
mount /dev/hdc /mnt 挂载光驱 fd0 软驱
mount -o loop,ro /var/boot.iso /mnt

/etc/fstab 配置文件系统挂载信息

mount:查看当前挂载的文件系统 /etc/mtab、 /proc/mounts
umount:卸载文件系统

fsck:用于检查与修复文件系统 -y自动修复
tune2fs:更改ext2文件系统的属性,数据不丢失 -j
resize2fs:更改ext2文件系统的大小
parted:更改多种文件系统大小
系统通过autofs服务自动挂载文件系统,需要后台的automount进程
rpm -q 进程名:查看是否安装进程






相关文档