Linux系统是由C语言写的,思想为“一切皆文件”。常用桌面风格有KGE和GNOME。用户分普通用户($)和根用户(#)。
(一) Linux常用命令:
命令格式:命令本身+选项+参数 例如:用火(选项)烧死(命令)他(参数)
1.su - root (username) 切换用户
2.init 0 关机 init 6 重启 shutdown -h now 立即关机
3.cal 查看日历
4.date 显示时间 date 0315112011(月日时分年) 将时间改为2011年3月15日11时11分
5.who 当前登陆的所有用户
6.pwd 当前路径
7.whoami 当前用户
8.clear 清屏
9.cd .. 切回上一个目录
10.ls 显示文件或目录 ls -a(all)显示所有目录,包含隐藏的目录 ls -l(list) 显示目录下子文件和子目录的信息 ls -dl 目录本身的详细信息
11.echo 回文
12.passwd 更改密码 (只输入一遍的改密码命令:echo 密码 | passwd --stdin root 只有根用户可以这样操作 )
13.man + 命令 帮助 或者 命令+ --help
14.终端切换到桌面 alt + F1 桌面切换到终端 ctr+alt +F1
15.history 查看已经敲过的历史命令
(二)目录操作:增删改查
windows为多根系统(如画分的CDFE盘,每个盘为一个根),Linux只有一个根:/ 左斜杠 windows为右斜杠
Linux根目录下各文件:bin存常用命令,可执行文件;boot存放启动盘;etc配置文件;sbin系统目录,系统的可执行文件;mnt/media用来挂载;dev设备文件
绝对路径:以/开头 ls /boot/grub 相对路径:不以/开头 ls grub/
1.增: mkdir +目录路径 新增目录
mkdir /a 创建根下a目录 mkdir /a/b 创建根下a下b目录
mkdir /c/d 会报错 因为还没有C目录 找不到c所以不能创建 可以这样: mkdir -p /c/d 加-p可同时创建b和c
2.查: ls -d ll -d
3.改:移动一个目录 有2个用法:1是移动文件;2是移动文件并重命名
mv /a/f/ /a/f1/ 重命名
mv /a/e/ /b/
4.删: rm -r 删除目录和目录下的子目录 (系统会问是否删除);
rm -rf 强制删除目录和目录下的子目录 (系统不会问是否删除);
注:尽量不要使用rm,特别是rm -rf 删除了就没了 建议使用mv,把不用的移动到/tmp下
(三)文件操作:增删改查
1.增:touch a.txt
2.改:mv
3.查看:ls
cat 查看文件内容(大文件时速度最快) 按Q退出
less 查看文件内容,分页查看 上下键
more 百分比查看 回车
head 查看默认钱十行内容,head -n 数字 /a/a.txt 查看a文件前数字行内容
tail 查看后10行内容, tail -f /a/a.txt 监测a文件的新增内容
4删除:rm rm /a/a.txt rm -f /a/a.txt
5.向文件中写入内容:
echo 12345 > /a/a.txt 将12345写入都a.txt (如果a.txt中以前有内容,会覆盖掉)
echo 12345 >> /a/a.txt 给a.txt中追加内容“12345”
(四)权限管理
1.常用命令:
(1)useradd + 名字 新建用户 -u 指定UID; -g 指定组主组;-G 指定附加值;-d 指定家目录; -c 描述信息; -s 指定用户所用的shell;/etc/passwd 用户信息路径
useradd -u 1200 -g root -d /test/user -c 'testuser' -s /bin/bash test_user
(2)id + 用户名 用户信息(在哪个组UID多少等),UID小于1000是系统用户,1000以后是普通用户,root用户的uid是0。
(3)passwd + 用户名 设用户密码,设次 一次的方法 echo 12345 | -- stdin 用户名
(4)usermod 修改用户的信息 usermod + 修改项+ 用户名
(5)groupadd 加组 groupadd + 组名 (新建的组在/etc/shadow下)
(6)groupdel 删除组 groupdel +组名
(7)groupmod 修改组 -g 修改组的组ID -n 修改组名 +组名
(8)userdel 删除用户(家目录和邮箱还在), userdel -r 彻底删除所有
(9)chmod 权限
(10) chown 更改属主属组权限 chown -R 递归地改(文件下的子目录和子文件都同意改)
2.相关文件介绍
(1)passwd文件:里面为用户信息,分七段,如下:
egon1:X:1002:1002: :/home/egon1:/bin/bash
用户名:密码占位符:UID:组ID:用户描述信息:用户家目录用户登录的shell(如果第七段为sbin/nologin为不可登陆用户)
(2)shadow文件:用户密码的文件,即密码占位符,路径/etc/shadow
(3)group文件:里面为group信息文件,用户所在的组,组名,组ID
root:x:1003:test_user 组名为root:组密码存在X:组ID为0:用户test_user在root组里,test_user属于这个组。这个组是test_user的附加组
(4)gshadow :组的shadow文件
3.通过创建文件的方式创建用户
(1)建立用户的主组(原始组):通过VIM /etc/group 在里面增加一条 poe1:x:1001:
(2)建立用户的家目录(即用户的个人办公软件桌面)
a. mkdir /home/poe1
b.cp -r /etc/skel/.[!.]* /home/poe1 将办公软件(模板)复制到poe1里面
(3)建立用户: VIM /etc/passwd里增加一天
poe1:X:1001:1001:poe1:/home/poe1:bin/bash
(4)建立用户密码:VIM /etc/shadow 里增加一条(复制文档上面的内容,更换名字即可)
poe1:!:!:17378::::
(5)建立组密码:VIM /etc/gshadow里增加一条
poe1:!!:poe1
(6)将家目录的权限主体改成用户自己 poe1;(在创建poe1时是在root用户下创建的,所以/home/poe1/属主属组都是root,现在得改成poe1)
chown -R poe1.poe1 /home/poe1
(7)创建用户的邮箱
a.mkdir /var/spool/mail/poe1
b. chown -R poe1.mail /var/spool/mail/poe1 (poe1用户,mail组)
4.属主属组其他人对文件的rwx权限
-rw-r--r--. 1 root root 0 8月 7 15:46 /test/test1/a.txt 最左边是以-开头的,是表示文件
drwxrwxrwx. 2 root root 6 8月 1 18:54 /test/test1 最左边是以d开头的,表示是目录
除了最左边的-和d,其余部分分为三部分,前部分的可读可写可执行权限属主(user即用户的权限),中间部分属组(group),最后部分属于其他人(other)
r---4 w----2 x----1 root用户对一切文件可读可写可执行
(1)chmod权限等号法 (当前目录在a.txt的上一层)
解除: chmod o= - a.txt other对a.txt什么权限也没有了 等于短杠
给予:chmod o=r a.txt other对a.txt有了可读权限 chmod o=rw a.txt chmod u=rwx /test/tets1/a.txt
(2)chmod权限加减法
chmod u=rx,g=-,o=rwx a.txt 这是用等号接触给予权限,每次改权限即每次复制,都会覆盖以前旧的权限,还有另一种方式,即在旧的权限基础上+-权限来实现更改权限
旧权限为:u=rx,g=-,0=rwx
目标权限:u:r; g:rw; o:r
chmod u-x,g+rw,o-wx a.txt
(3)chmod权限数字法
r=4,w=2,x=1 rwx=7 rx=5
旧权限为:u=rx,g=-,0=rwx
目标权限:u:r; g:rw; o:r
chmod 464 a.txt
(4)对属组权限的延伸:
比如a.txt权限为-rw-rw---- other对a.txt什么权限也没有。other中的小明想对a.txt有权限,可以把小明加到a.txt的属组中,小明就有了这个组所拥有的权限;
在Jack组,则 usermod -G Jack xiaoming
5.属主属组其他人对目录的rwx权限
r 读 ls 打开文件夹,游览文件夹下子文件,子文件夹名
w 写 新建删除重命名文件夹 wx,一边与x一起
x cd 可执行 鼠标双击可进入
注:属组权限的延伸部分同样适用于目录权限