day02
一、路径表示 (重)
点(.):当前路径,表示所在的位置,每个目录中都有点目录
点点(..):表示上一层目录,比如现在目录是/home/student/day01中,..表示student目录
波浪线(~):表示每个用户的主目录,如果是student用户,~的路径是/home/student/ 如果是danny用户,~表示/home/danny/
根目录(/):这个linux系统的根目录,相当于windows的c盘。
绝对路径:从根目录开始的路径,不管当前目录在什么位置,使用绝对路径都可以找到指定的位置,指定位置不会变。表示 /home/student
相对路径:相对于某个目录而言的路径,比如说我在楼下,如果我当前的位置在10楼,我的楼下是9楼,如果我在2楼,我的楼下是1楼,所以相对路径是会随着你当前路径而改变的。在平常开发过程中,尽量使用相对路径。表示 ../danny/
练习1:现在在~目录,请用相对路径表示方式,跳转到dev目录。
练习2: 现在在桌面,请用相对路径和绝对路径表示方式,跳转到~/文档
二、linux的常用命令
1.cd 跳转目录 (重)
格式1: cd 目录名 表示跳转到指定目录
格式2: cd 表示跳转到~目录
注意:如果目录名只是一个文件夹名称,默认会加上./
例如: cd day01 会自动转换成 cd ./day01
cd .. 跳转到上一层
2.pwd 查看当前所在路径 格式 pwd
3. mkdir 创建目录(重)
格式1: mkdir 目录名 ; 在当前目录创建目录
格式2: mkdir -p 目录1/目录2 创建多级目录
格式3: mkdir -m 权限 目录
mkdir day01/danny ~ day01 在day01中创建danny目录
注意:如果目录名只是一个文件夹,会自动加./
练习: 在桌面创建day02目录,创建者权限只有可读,同组有可读和可执行权限,其他人只有可读权限。
4.rmdir 删除目录 (重)
格式: rmdir 目录名 删除空目录
格式: rmdir -p 目录1/目录2 多级别删除
注意:目标目录必须为空,否则没法删除
5.ls 查看指定目录的内容(重)
格式: ls 目录 打印指定目录下的内容
格式: ls -l 查看文件的详细信息
格式: ls -a 查看当前目录下的所有文件(包含隐藏文件)
格式: ls -d 列出当前目录,也就是目录本身
格式: ls -t 按照修改时间的先后顺序排序列出
格式: ls -r 按照文件名的逆序排序显示
格式: ls -R 按照递归的方式把子目录中的所有文件打印出来
补充: 通配符* 表示0~多个字符, 比如:abc*中 abc;abcd;abc1;abcdefg;
通配符? 表示一个字符:比如abc?中 abcd abc1 但abcdef不符合
通配符 [...] 表示在中括号中选一个指定的字符; ls a[df].conf ,表示 第一个字母是a 第二个字母是d或者f的conf文件
通配符[-]:表示在a到d范围之内的一个字符;例如: ls a[d-f].conf ,第一个字母是a,第二个是d到f中的任意一个,的conf文件
通配符[^...]: 表示不存在括号中的字符。ls ?[^abc]*.conf,表示:第一个字母任意,第二个字母不是abc的conf文件
练习: 请打印出第二个字母是a b c 的conf文件 ls ?[abc]*.conf
三、系统管理命令
1.用户信息文件。 /etc/passwd 保存用户信息数据
student : x : 1000 : 1000: ,,,:/home/student: /bin/bash
用户名 密码 用户ID 组id 用户主目录 shell位置
可以自己设置用户id,系统用户的id从1到999,普通用户从1000+
root的用户id是0
2.adduser 创建新的用户
格式:adduser 用户名(重)
注意: 创建用户后,会在home目录下用户目录,在passwd中记录用户信息,如果权限不够,在前面加上sudo,密码是8
参数: --home:设置用户主目录 -uid 设置用户id -gid 设置组id
例如: adduser --home /home/danny666 -uid 8888 -gid 8888 danny688
3.passwd 修改用户密码
格式: passwd 用户名 (重)
注意:修改密码不可以和原密码相同,密码长度不可以低于6位,不可以太简单。
4. su 切换用户(重)
格式: su 用户名
注意: 需要输入密码,如果权限不够需要加sudo
5.userdel 删除用户
格式: userdel 用户名 ;其中-r是删除主目录
四、文件处理命令
1.查看帮助文档
第一种方式:man + 命令
第二种方式: 命令 --help
第三种方式: whereis + 命令 查看命令的帮助文档位置
2. echo 在屏幕上输出
格式: echo 字符串 直接在屏幕上打印
管道:echo “danny shuai”| cat >hello.c
3. cat 在屏幕上打印信息(重)
格式: cat 文件名 打印文件信息,不可以在cat后加单独的目录
格式: cat 文件1 > 文件2 覆盖重定向。 把文件1中的内容拷贝到文件2中。
格式: cat 文件1 >> 文件2 追加重定向。把文件1中的内容追加到文件2的末尾。
格式: cat > 文件1 输入覆盖重定向。把键盘输入的内容覆盖到文件1中。 结束用ctrl+c
格式: cat >> 文件1 输入追加重定向。把键盘输入 的内容追加到文件1 的末尾。
补充:-v表示特殊符号。 cat -vE danny.c
-------------------------------------------------------
下午
一、文件操作命令
1. touch创建文件(重)
格式: touch 文件名
注意:如果文件不存在 则创建文件 如果文件存在 则更新最后的修改时间
2. mv 移动 或者重命名(重)
格式1: mv 文件1 文件2 把第一个文件复制到第二个文件中,然后删除第一个文件
格式2: mv 目录1 目录2 如果目录2存在,把目录1移动到目录2中
格式3: mv 文件1 目录1 把文件1移动到目录1中,如果目录2不存在,则把目录1的名字修改成目录2.
选项: -i 询问模式,提示是否覆盖 -v 提示移动的步骤 -b 备份覆盖文件
练习: 先创建两个文件 danny1 和danny2 在第一个文件中输入1234,在第二个文件中输入abcd 然后把第一个文件中内容追加到第二个文件中。
3 rm 删除文件(重)
格式: rm 文件 ; 删除文件
格式: rm -rf 目录名; 删除指定目录,可以多级删除。
选项: -r 删除目录 -f 强制删除 -i 提示是否删除
练习: 把当前目录下所有以a开头,第二个字母不是abc的.c文件删除 rm a[^abc]*.c
4.cmp 比较两个文件是否相同(重)
格式: cmp 文件1 文件2
如果文件1和文件2相同则无任何打印,如果文件1和文件2不相同则打印第一处不相同的字符位置。
5.cp 文件拷贝(重)
格式: cp 文件1 文件2 ; 如果文件2不存在则新建后复制,如果文件2存在则覆盖粘贴。
格式: cp 文件1 目录1; 把etc目录下的 第三个字母不是abc的conf文件拷贝到主目录的day01中
格式: cp -r 目录1 目录2; 递归复制目录
参数: -i 询问 -f强制 -r 递归复制
6.cut 按照某一个要求查看文档(重)
格式: cut -d ‘分隔符’ -f 目标列 文件名
例子: 把passwd文件中所有的用户名打印出来。
练习: 把所有用户的主目录名称存入danny1的后面。
7.more:分屏查看文件(较大文件查看)(重)
格式: more 目标文件
格式: more +n 目标文件 ;从第n行开始查看
格式: more -n 目标文件 ; 每一页是n行显示
注意:用空格翻页,或者使用ctrl+f ctrl+b .用回车键查看下一行
8.less 分屏查看文件
格式: less 目标文件
参数: -p 查找关键字,从第一个找到的位置打印
-M 查看百分比 ,例如less -M ./danny
练习: 查找passwd文件中是否有student关键字
9.head 查看文件头部内容
格式: head 文件名 ;默认显示文件的前10行
格式 head -n 5 文件名 ; 显示文件的前5行
格式: head -n -5 文件名; 除最后5行外其他全部显示
格式: head -c 5 文件名; 除最后5个字符外其他都显示
10.tail 查看文件尾
格式: tail 目标文件 ;默认显示后10行内容
格式: tail -n 5 目标文件; 显示最后5行
11.file
格式: file 目标文件
作用:查看文件类型 (目录文件,设备文件。普通文件)
student@student-machine:~$ file /dev/tty0
/dev/tty0: character special (4/0)
12.alias 给命令取别名
格式: alias 别名='命令'
注意:别名就表示命令,下次直接使用别名就行。
取消: unalias 别名; 取消别名
13.chmod 修改文件权限 (重)
格式: chmod 绝对值权限 文件名
chmod 665 danny1
格式: chmod u+x danny1 对拥有者加上可执行权限
chmod a+x danny1 所有人加上可执行权限
chmod o-x,a+r danny1;其他用户取消可执行权限,所有用户加上读权限。
chmod o-x,a+r danny1 danny2 两个文件同时修改
例子: 请创建一个文件danny1,把拥有者的写权限去掉,组加上可执行权限 chmod u-w,g+x danny1
u:表示拥有者 g:表示同组 o:表示其他 a:表示所有
14.chown 修改文件属组和属主 (重)
格式: chown 新的属主 文件名 ;修改文件的属主
格式: chown 新的属主:新的属组 目标文件 ; 修改文件的属主和属组
格式: chown 新的属组: 目标文件; 修改属主,同时把属组修改成当前属主的默认属组。
案例:在student用户下:文件属性如下
-r-xrwxr-x 1 danny student 19 7月 5 16:43 danny1
student权限 rwx
如果切换到abc用户后,请问当前用户对danny1的权限是r-x