linux 学习笔记 (四)
1. ~、/ 目录
~是shell中进入用户主目录的快捷方式。/是根目录标志。无论当前工作目录在哪里(可以通过pwd命令查看当前工作目录),都可以通过命令cd ~进入用户主目录,通过cd / 进入根目录。
2. /etc/passwd 文件
这个文件用来保存每个用户账户的信息。无论是哪种账户,其信息都保存为/etc/passwd文本文件的一个条目。每个条目内容包括:用户名,用x表示的口令字段(口令字段实际上是保存在/etc/shadow文件中),用户ID(UID),组ID(GID),条目的第五个字段是选填的用户ID信息(比如用户真实姓名,电话等),第六个字段是用户的主目录地址,最后一个字段是用户登录的默认使用的shell。
3. finger 用户名,chfn 命令
输入finger younes,会显示/etc/passwd里面对应的条目中的第五个字段登记的用户ID信息。chfn命令(change finger information)是更改这个信息。
4. sudo passwd root 命令
sudo passwd root 更改或设置启用启用 root 使用者的密码。
sudo -i //此命令进入root工作状态,较危险,需要小心操作。
5. 创建用户和密码
sudo useradd liangliang //添加用户
sudo passwd liangliang //设置密码
sudo userdel -r liangliang //删除用户以及他的文件
6. mkdir -p 命令
mkdir -p jiangsu/lianyungang/ganyu //一次建立层级目录。-p意思为parent
rm -r jiangsu //递归删除目录。-r 意思为recursive,递归的。
//删除目录必须要使用 -r 选项,否则删除不了。
7. 给PATH添加新目录
使用 PATH=$PATH:目录:目录... 。如 PATH=$PATH:/sbin
8. dirname命令
dirname /home/younes //输出 /home
basename /home/younes //输出 younes
9. 利用cat建立文件,并写文件
cat > write.txt //运行这个命令后,就可以建立一个write.txt的文件,之后可以向里面写入内容。
10. umask命令
umask设置用户文件和目录的文件创建缺省屏蔽值,即需要减去的权限。
umask [-p] [-S] [mode]
-S:确定当前的umask设置。
-p:修改umask 设置。
[mode]:修改数值。
传统Unix的umask值是022,这样就可以防止同属于该组的其它用户及别的组的用户修改该用户的文件。
umask -S
u=rwx,g=rx,o=rx
umask -p 177
umask -S
u=rw,g=,o=
上述5行命令,首先显示当前状态,然后把umask值改为177,结果只有文件所有者具有读写文件的权限。
注意用户创建文件时,默认的权限为rw-rw-rw-,创建目录时为rwxrwxrwx。 所以当umask为022时创建一个文件,touch test1, ls的访问权限为:rw-r--r--
11. 搜寻档案或目录
在 Linux 底下也有相当优异的搜寻系统。通常 find 不很常用,因为速度慢之外,也很操硬盘。通常我们都是先使用 whereis 或者是 locate 来定位,如果真的找不到了,才以 find 来搜寻。为什么呢? 因为 whereis 与 locate 是利用数据库来搜寻数据,所以相当的快速,而且并没有实际的搜寻硬盘。
which 查看可执行档案的位置
whereis 查看档案的位置
locate 配合数据库查看档案位置
find 实际搜寻硬盘去查询文件名称
[root @test /root ]# find [路径] [参数]
参数说明:
1. 时间:
-atime n :在 n*24 小时内被 access 即存取过的档案列出来!
-ctime n :在 n*24 小时内被 changed 即改变、新增的档案或目录印出
-mtime n :在 n*24 小时内被 modified 即修改过的档案印出
-newer file :比 file 还要新的档案就列出来!
2. 使用名称:
-gid n :寻找 群组 ID 为 n 的档案
-group name :寻找群组名称为 name 的档案
-uid n :寻找拥有者 ID 为 n 的档案
-user name :寻找使用者名称为 name 的档案
-name file :寻找档名为 file 的文件名称(可以使用万用字符)
-type type :寻找档案属性为 type 的档案,type 包含了 b, c, d, p, l, s,
这些与前一章的属性相同!例如 l 为 Link 而 d 为路径之意!
范例:
[root @test /root]# find / -name testing <==寻找档名为 testing
[root @test /root]# find / -name 'test*' <==寻找档名包含 test 的!
[root @test /root]# find . -ctime 1 <==寻找目前目录下一天内新增的目录或档案
[root @test /root]# find /home/test -newer .bashrc <==寻找 /home/test 目录下比 .bashrc 还要新的档案
[root @test /root]# find /home -user test <==寻找 /home 底下拥有者为 test 的档案
[root @test /root]# find /dev -type b <==寻找 /dev 这个目录下,档案属性为 b 的档案
12. terminal中 TAB键的应用
在终端中,输入b之后按2下TAB键,会把所有可以执行的以b开头的命令罗列出来。
13. 给命令起别名
alias lm=ls -al //以后就可以使用lm作为命令的代替了,可以将很长的命令转换成短命令。