实验
一.概念和命令行操作
1.Tab键补齐命令:只输入它的开头的一部分然后按下Tab键就可以得到提示或者帮助完成。
2.[Ctrl+c]命令:强行终止当前程序
3.使用touch命令创建文件
$ touch tcl.txt \创建txt文件
$ touch love_{1..10}_linux.txt \一次创建多个文件
4.man命令(manual page):通过执行 man 命令调用手册页。
执行man man 命令查看man命令本身的使用方式:
要查看相应区段的内容,就在 man 后面加上相应区段的数字即可:
$ man 1 ls
按键q退出
5.安装并使用banner、toilet和figlet
二.用户及文件权限管理
1.Linux 中创建、删除用户,及用户组等操作。
查看用户:
$ who am i \查看伪终端用户名
$ whoami \查看当前登录用户的用户名
创建用户:
在 Linux 系统里, root 账户拥有整个系统至高无上的权利,比如 新建/添加 用户。
$ sudo adduser lisi \创建lisi用户
切换登录用户
$ su -l lisi \切换到lisi用户
退出当前用户跟退出终端一样可以使用 exit 命令或者使用快捷键 Ctrl+d。
为用户获取root权限
执行 sudo 命令将 lisi 添加到 sudo 用户组,让它也可以使用 sudo 命令获得 root 权限
$ su tcl \切换到tcl用户(具有root权限)
$ groups lisi \查看lisi所在用户组
$ sudo usermod -G sudo lisi \将lisi加入sudo用户组
$ groups lisi
删除用户
$ sudo deluser lisi --remove-home \删除用户lisi
- Linux 中的文件权限设置。
一个目录同时具有读权限和执行权限才可以打开并查看内部文件,而一个目录要有写权限才允许在其中创建其它文件.
可以使用 cat之类的命令来读取某个文件的内容;
变更文件所有者
$ cd /home/lisi \打开文件目录
$ ls iphone7.txt
$ sudo chown tcl iphone7.txt
$ cp iphone7.txt /home/tcl
修改文件权限
方式一:
$ chmod 600 iphone7.txt
方式二:
$ chmod go-rw iphone7.txt //g表示group ,o表示other,u表示user,'+','-' 就分别表示增加和去掉相应的权限。
三.目录结构级文件基本操作
1、Linux 的文件组织目录结构
Linux目录结构采用FHS标准,FHS 定义了两层规范,第一层是, / 下面的各个目录应该要放什么文件数据,例如 /etc 应该要放置设置文件,/bin 与 /sbin 则应该要放置可执行文件等等。第二层则是针对 /usr 及 /var 这两个目录的子目录来定义。例如 /var/log 放置系统登录文件、/usr/share 放置共享数据等等。
$`tree / //查看目录结构
2、相对路径和绝对路径
使用 cd 命令可以切换目录,在 Linux 里面使用 . 表示当前目录,.. 表示上一级目录
$ pwd \获取当前所在路径
$ cd .. \进入上级目录
$ cd ~ \进入‘home’目录
绝对路径:以根"/"目录为起点的完整路径,以你所要到的目录为终点,表现形式如: /usr/local/bin
相对路径:相对于你当前的目录的路径,相对路径是以当前目录 . 为起点,以你所要到的目录为终点,表现形式如: usr/local/bin
3、对文件的移动、复制、重命名、编辑等操作
新建目录
$ mkdir mydir
$ mkdir -p father/son/grandson //同时创建父目录
复制文件、目录
$ touch test
$ cp test father/son/grandson //创建的"test"文件复制到"/home/tcl/father/son/grandson"目录中
$ cp -r father family //创建的father目录复制到family目录中
删除文件
$ rm test
$ rm -f test //强制删除,一般用于删除一些为只读权限的文件
$ rm -r family //删除目录
移动文件
$ mkdir Documents
$ mv file1 Documents
$ mv file1 myfile //重命名文件
查看文件:使用cat,tac和nl命令查看文件,使用head和tail命令查看文件
查看文件类型:
$ file /bin/ls
四.环境变量与文件查找
创建变量:
$ declare tmp \声明
$ tmp=shiyanlou \赋值
$ echo $tmp \输出
搜索文件:与搜索相关的命令常用的有如下几个whereis,which,find,locate。
五.文件打包与压缩
1.zip打包程序
$ zip -r -q -o tcl.zip /home/tcl //将 tcl 的 home 目录打包成一个文件
$ du -h tcl.zip //查看打包后文件的大小
$ file tcl.zip
$ zip -r -e -o shiyanlou_encryption.zip /home/shiyanlou //创建加密zip压缩包
解压文件包
$ unzip shiyanlou.zip
六.遇到的问题
1.对执行"su -l 用户名"与"su 用户名"两条命令的区别不是很了解
"su 用户"代表切换用户 但是环境变量保持现在的用户的环境变量
"su - 用户"和" su -l 用户" 是一样的 ,表示切换用户,并载入那个用户的环境变量
2.对于修改文件的权限,命令"chmod 700 iphone"中的700不知道是什么含义
其中a,b,c各为一个数字,分别表示User、Group、及Other的权限。
r=4,w=2,x=1
若要rwx属性则4+2+1=7;
若要rw-属性则4+2=6;
若要r-x属性则4+1=7。
-rw------- (600) -- 只有属主有读写权限。
-rw-r--r-- (644) -- 只有属主有读写权限;而属组用户和其他用户只有读权限。
-rwx------ (700) -- 只有属主有读、写、执行权限。
-rwxr-xr-x (755) -- 属主有读、写、执行权限;而属组用户和其他用户只有读、执行权限。
-rwx--x--x (711) -- 属主有读、写、执行权限;而属组用户和其他用户只有执行权限。
-rw-rw-rw- (666) -- 所有用户都有文件读、写权限。这种做法不可取。
-rwxrwxrwx (777) -- 所有用户都有读、写、执行权限。更不可取的做法。
七.总结
关于这次的linux基础知识的学习,主要的感受有以下两点:
1.单单看课程上的知识,很容易造成对知识点的一知半解,及时通过网络资源、其他书籍等途径对难点及疑点进行查询,能够更有效的掌握知识。
2.对比以前的学习经历,要学好一门知识,特别是计算机语言,必须得多花时间、多下功夫。