1 linux 概述
1.1 linux 结构
1.1.1 linux的四部分

/bin 普通用户的可执行文件,系统的任何用户都可以执行该目录中的命令
/boot 存放Linux操作系统启动时所需要的文件
/dev 系统中所有设备文件
/etc 系统中的配置文件
/home 普通用户的宿主目录,每个用户在该目下都有一个于用户名同名的目录。
/mnt 中的子目录用于系统中可移动设备的挂载点
/root 超级用户root的宿主目录
/sbin 系统中的管理命令,普通用户不能执行
/tmp 系统的临时目录
/usr 系统应用程序的相关文件
/var 系统中经常变化的文件如日志文件和用户邮件
/
/ \
/ \
etc home
/ /
/ /
profile xiaoming
/ \
配置系统 .bash_profile
环境变量 配置用户的环境变量
环境变量:配置.bashrc文件可以指定某些程序在用户登录的时候就自动启动
系统环境变量设置:在root目录下 Vi .bash_profile
修改PATH=$PATH:$HOME/bin :/安装目录/bin
需要退出(quit),重新登陆
当希望临时加入某个环境变量:用export PATH =$PATH : $HOME /bin:/root/test/t1
已定义好的环境变量:
SHELL:默认的shell
PATH:路径
USER:当前登录用户的用户名
显示变量内容:echo $PATH
echo $USER
echo $SHELL
也可以使用env命令显示环境变量
通配符:
* 代表多个字母或数字
? 一个
别名:
命令:alias显示系统当前定义的所有alias
alias cp ='cp-i'
alias ll='ls -l --color = tty'
2. linux 基本命令
2.0 重启
shutdown - h now 立刻关机
shutdown - r now 重启
reboot 重启
2.1 文件查看和连接命令
cat cat [选项] <file1> …
more 显示文件内容,带分页
less 显示文件内容,带分页
grep 在文本中查询指定内容
| 管道命令[把上一个命令的结果给|后的命令处理]
grep "shunping" aaa.java
grep -n ...... 显示行数
grep -n "shunping" aaa.java > kkk.bak 重定向命令
ls -l > a.txt 列表的内容写入文件 a.txt(覆盖写)
ls -l >> a.txt 追加写到文件的末尾
find的使用:
在特定目录下搜索并显示指定名称的文件和目录,搜索一段时间内被存 取/变 更的文件或目录。
find /home -amin -10 十分钟内存取的文件和目录
find /home -atime -10 十小时
find /home -cmin -10 十分钟内更改过的
find /home -size +10k 大小为10k的
将目前目录及其子目录下所有延伸档名是 c 的档案列出来。
# find . -name "*.c"
将目前目录其其下子目录中所有一般档案列出
# find . -ftype f
将目前目录及其子目录下所有最近 20 分钟内更新过的档案列出
# find . -ctime -20
2.2命令的操作
more more [选项] <file>…分屏显示命令
less less [选项] <filename> 按页显示命令
clear 清除屏幕命令
history 查看历史命令记录
2.3目录相关命令
cd .. 可进入上一层目录
cd - 进入上一个进入的目录
cd ~ 可进入用户的home目录
pwd 显示当前在哪个路径
ls 列出文件和目录
ls -a 显示隐藏文件
ls -l 显示常列表格式
mkdir 建立目录
rmdir 删除空目录
touch 建立空文件
2.4文件权限、用户组
2.4.1文件操作
cp 复制命令 将档案 aaa 复制(已存在),并命名为 bbb:
cp aaa bbb
将所有的C语言程式拷贝至 Finished 子目录中:
cp *.c Finished
cp -r dir1 dir2 递归复制(复制子目录信息)
mv 移动文件和改文件 将档案 aaa 更名为 bbb:
mv aaa bbb
将所有的C语言程式移至 Finished 子目录中: mv -i *.c
rm 删除文件和目录
rm -rf * 删除所有内容(包括目录和文件)
如何修改文件的访问权限
chmod 777 along
范例 :将档案 file1.txt 设为所有人皆可读取:
chmod ugo+r file1.txt
将档案 file1.txt 设为所有人皆可读取:
chmod a+r file1.txt
将档案 file1.txt 与 file2.txt 设为该档案拥有者,与其所属同一个群体者可写入,但其他以外的人则不可写入:
chmod ug+w,o-w file1.txt file2.txt
将 ex1.py 设定为只有该档案拥有者可以执行:
chmod u+x ex1.py
将目前目录下的所有档案与子目录皆设为任何人可读取:
chmod -R a+r *
2.4.2用户组操作
su- 切换成系统管理员
su 用户之间的切换
logout 用户注销
useradd xiaoming 添加用户(root下)
passwd xiaoming 设置xiaoming的密码
userdel xiaoming 删除用户
userdel -r xiaoming删除用户及其主目录
每个用户必须属于某一个组,不能独立于组外。
每个文件有所有者、所在组、其它组的概念
*1,所有者:一般指创建者
用ls -ahl 命令可以查看文件的所有者
用chown 用户名 文件名 来修改文件的所有者
*2,文件所在组 ----用户所在的组
ls -ahl 可以看见文件的所有组
chgrp 组名 文件名 修改文件所在组
*3,其它组---除开文件的所有者和所在组的用户外,
系统其他用户都是文件的其他组
添加组 ---groupadd policeman
查看Linux中所有组 : vi /etc/group 查看该文件或cat /etc/group | more
创建用户并指定将该用户分配到哪个组
useradd -g 组名 用户名
查看Linux中所有用户信息:vi /etc/passwd 或者cat /etc/passwd
文件权限:-----分为三种:r-可读,用四表示
| | | w-可写,用2表示
-|rw-|r--|r-- x-可执行,用1表示
| | |
上图中由右向左:
第1部分:其它组的用户对该文件的权限
第2部分:文件所在组对该文件的权限
第3部分:文件的所有者对该文件的权限
第4部分:文件类型 ---普通文件(-),目录(d),链接(l)
-d <dirName>:指定用户主目录,默认情况下,将会在/home目录下新建一个与用户名相同的用户主目录
删除用户的命令为userdel,该命令的格式为:userdel <用户名>
修改用户属性
usermod –g<主组名> -G <组名> -d <用户主目录> -s <用户shell>
在添加用户时,可以指定将该用户添加到哪个组中,同样的用root的管理权限可以改变 某个用户所在的组:usermod -g 组名 用户名
可以用 usermod -d 目录名 用户名 改变该用户登录的初始目录
增加用户组
groupadd <新组名>
删除用户组
groupdel <组名>
修改组成员:直接编辑/etc/group文件,将用户名写到对应的组名的后面
whoami命令的功能在于显示用户自身的用户名。
who [选项]:该命令主要用于查看当前在线的用户情况
w命令 :用于显示登录到系统的用户情况
finger命令可用于查找和显示用户信息,并且在查找后显示指定账号的相关信息
chfn命令能够改变系统存储的用户信息