符号链接
ln -s ~/projiect/haha/ link1
//在当前目录下创建指向~/projiect/haha目录的符号链接,对link1目录下的文件的操作即是对projiect目录下文件的操作
rm link1 删除链接, 但~/projiect/haha/目录下的内容没有变
rm -r link1/ projiect/haha下的被文件删除 链接link1 没有被删除,显示: 无法删除"link": 不是目录
ln -s ~/projiect/haha 在当前目录下创建一个名为haha的符号链接,haha指向~/prijiect/haha目录
cp的用法
cp -r(递归地复制目录。用于目录中带有子目录) -f (如果存在一个目标文件,不能被打开,那么试图先删除它再尝试)
-a (要完整地复制一个目录,保持软硬链接和文件属性,相当于同时指定-bpr) -p (保留源文件或目录的属性) -i(覆盖文件之前先询问用户)
cp txt txt1 赋值txt到txt1中,txt1不存在则创建,存在则覆盖
cp -a a1 a2 a2不存在则新建,a1中的内容复制到a2;a2存在则a1复制到a2目录下,若在a2下存在同名文件则覆盖
文件和目录
tree (lstree)显示文件和目录由根目录开始的树形结构
file txt 辨识文件类型
stat txt 查看文件的atime(acess访问时间),mtime(modify修改时间),ctime(change状态改动时间)
touch txt 创建一个空文件
touch txt 更新文件txt的时间 用ls --full-time txt查看文件创建时间
touch -t 0712250000 txt 修改txt文件的创建时间为2007-12-25 00-00-00
mkdir -p 创建目录树
mkdir -m
用户管理
/etc/passwd 定义了每个用户账户的属性
/etc/shadow 保存密文的用户口令,只有管理员才能读取
/etc/group 保存用户组的信息
/etc/login.defs /etc/default/useradd用这两个默认帐号设定文件来 实现创建用户时用户的基本设置的
useradd test 新建用户test 同时会创建一个和用户名同名的用户组
useradd -g students test1 创建test1用户,属于students组,不会创建与用户名同名的组
usermod -g students test (修改用户属性)更改用户的用户组,将test从默认的test组更改到students组
//将已有的用户添加到其他组,一个用户可以同时属于多个组
usermod -G training test 将test用户添加到trainnig组,test同时属于students和trainning组
或使用gpasswd -a test trainning 将test添加到trainning
userdel -r test 删除用户及用户的宿主目录(-r排除主目录)
passwd test root给用户设置密码,连输2次密码
passwd 登录用户test,用户自己修改密码,输入原始密码 输入新密码
chage -E 2005-12-31 user1 设置用户口令的失效期限
pwck 检查 ‘/etc/passwd‘ 的文件格式和语法修正以及存在的用户
grpck 检查 ‘/etc/passwd‘ 的文件格式和语法修正以及存在的群组
newgrp group_name 登陆进一个新的群组以改变新创建文件的预设群组
groupadd -g 888 students 创建GID为888的用户组
groupdel groupname 删除用户组,要先删除或移除该组的用户
groups test 查看test用户属于哪一个组
修改组名和用户名:
groupmod -n newname oldname
usermod -l newname oldname
文件类型和权限
<1>文件类型:
- 普通文件 d目录 b块设备文件(硬盘光驱/dev/sda* sr0) c字符设备文件(/dev/ttyS*) l符号链接文件 p是管道文件
s(socket文件)
sudo mknod -m 660 sdb4 b 8 5 //创建块设备文件,主设备号8,次设备号5
<2>文件权限:(chmod的用法)
chmod a+x hello //增加所有者,所有组和其他用户的可执行权限
//u(文件所有者) g(文件所有组) o(其他用户) a(三者皆是) +(增加权限) -(取消权限) =(唯一设定权限)
//r(读) w(写) x(执行) s(设置用户或组的ID号) t(设置粘着位sticky bit,防止文件或目录被非属主删除)
chmod -R a+r * //将目前目录下的所有档案与子目录皆设为任何人可读取(-R可递归遍历自目录)
chmod a=rwx file 或者 chmod 777 file //修改file三者都可读,可写,可执行
chmod u+s hello //设置hello的SUID设置位,运行该文件的用户也被赋予和所有者同样的权限
chmod g+s hello //设置SGID设置位,类似SUID
chmod o+t projiect/ 设置一个文件的 STIKY 位 - 只允许合法所有人删除文件
find / -perm -u+s 罗列一个系统中所有使用了SUID控制的文件
<3>SUID,SGID和STIKY设置位
-rwsr-xr-x 表示SUID和所有者权限中可执行位被设置
-rwSr--r-- 表示SUID被设置,但所有者权限中可执行位没有被设置
-rwxrwxrwt 表示STIKY位和other的可执行位被设置
<3>文件属性(chown chgrp)
chown user1 file1 改变一个文件的所有人属性
chown -R user1 directory1 改变一个目录的所有人属性并同时改变改目录下所有文件的属性
chown user1:group1 file1 改变一个文件的所有人和群组属性
chgrp group1 file1 改变文件的群组
时间
系统时间是从RTC(real time clock)中来的,RTC时间是从1970-1-1 00-00-00开始走过的秒数
hwclock -r 选项用来显示当前的RTC 时间
hwclock -s 选项用来将当前的RTC 时间初始化为Linux 系统时间;
hwclock -w 选项用来将当前的Linux 系统时间写入到RTC 时间;
date 显示系统日期
cal 2007 显示2007年的日历表
date 041217002007.00 设置日期和时间 - 月日时分年.秒
clock -w 将时间修改保存到 BIOS
系统的关机重启登录
shutdown -h now
shutdown -h hours:minutes & 按预定时间关闭系统
shutdown -c 取消按预定时间关闭系统
shutdown -r now / reboot 重启
logout 注销
whoami 显示当前登录的用户
改变运行级别
<1>重启进入的运行级别:sudo vim /etc/inittab 改变id后的数字
<2>sudo init 5
添加sudo账户
#vim /etc/sudoers
zhoutian ALL=(ALL) ALL(或NOPASSWD:ALL)