#创建一个名为文件,touch是一个命令
touch file
#进入一个目录,cd是一个命令
cd /etc/
#查看当前所在目录
pwd
1) 重要快捷键:[Tab] 使用Tab
键来进行命令补全
2)
学会使用通配符 touch adsfasd.txt wergjlkas.txt
ls *.txt
Shell 常用通配符:
touch adsfasd.txt wergjlkas.txt
ls *.txt
Shell 常用通配符:
字符 | 含义 |
---|---|
* | 匹配 0 或多个字符 |
? | 匹配任意一个字符 |
[list] | 匹配 list 中的任意单一字符 |
[!list] | 匹配 除list 中的任意单一字符以外的字符 |
[c1-c2] | 匹配 c1-c2 中的任意单一字符 如:[0-9] [a-z] |
{string1,string2,...} | 匹配 string1 或 string2 (或更多)其一字符串 |
{c1..c2} | 匹配 c1-c2 中全部字符 如{1..10} |
search for help: man <command_name>
可以在 man 中使用搜索/<你要搜索的关键字>
;查找完毕后你可以使用n
键切换到下一个关键字所在处,shift+n
为上一个关键字所在处。使用Space
(空格键)翻页,Enter
(回车键)向下滚动一行.
man <command_name>
print the graphic character:
sudo apt-get update
sudo apt-get install sysvbanner
1.permission management
who
命令其它常用参数
参数 | 说明 |
---|---|
-a | 打印能打印的全部 |
-d | 打印死掉的进程 |
-m | 同am i ,mom likes |
-q | 打印当前登录用户数及用户名 |
-u | 打印当前登录用户登录信息 |
-r | 打印运行等级 |
root
账户拥有整个系统至高无上的权利,比如 新建/添加 用户
(oot 权限,系统权限的一种,与 SYSTEM 权限可以理解成一个概念,但高于 Administrator 权限,root 是 Linux 和 UNIX 系统中的超级管理员用户帐户,该帐户拥有整个系统至高无上的权力,所有对象他都可以操作.我们一般登录系统时都是以普通账户的身份登录的,要创建用户需要 root 权限,这里就要用到 sudo
这个命令了。不过使用这个命令有两个大前提,一是你要知道当前登录用户的密码,二是当前用户必须在 sudo
用户组。shiyanlou 用户也属于 sudo 用户组(稍后会介绍如何查看和添加用户组)。)
look for group:groups;
cat /etc/group | sort
add:
sudo adduser lilei
sudo usermod -G sudo lilei
delate: sudo deluser lilei --remove-home
关于文件类型,这里有一点你必需时刻牢记 Linux 里面一切皆文件,正因为这一点才有了设备文件(
/dev
目录下有各种设备文件,大都跟具体的硬件设备相关)这一说。
显示所有文件大小,并以普通人类能看懂的方式呈现:
ls -AsSh
变更文件所有者
touch iphone6
cd /home/lilei
ls iphone6
sudo chown shiyanlou iphone6
修改文件权限
每个文件的三组权限(拥有者,所属用户组,其他用户, 记住这个顺序是一定的)对应一个 " rwx ",也就是一个 “ 7 ” ,所以如果我要将文件“ iphone6 ”的权限改为只有我自己可以用那么就这样:echo "echo \"hello shiyanlou\"" > iphone6
chmod 700 iphone6
现在,其他用户已经不能读这个“ iphone6 ”文件了
chmod go-rw iphone6
g
、o
还有 u
分别表示 group、others 和 user,+
和 -
分别表示增加和去掉相应的权限。
d(directory)xwxr-xr-x (read, write, execute)
TEST IS THE MOST USEFUL: 添加一个用户 loutest
,使用 sudo
创建文件 /opt/forloutest
,设置成用户 loutest
可以读写。截图并把操作过程写入实验报告。
sudo adduser lili
ls /home
不但可以添加用户到系统,同时也会默认为新用户创建 home 目
su -l lili #使用你创建的用户登录
mkdir opt
touch opt/forloutest
chmod 700 forloutest
2.directory management
首先要清楚一点,那就是 Linux 的目录与 Windows 的目录的区别,或许对于一般操作上的感受来说没有多大不同,但从它们的实现机制来说是完全不同的。
一种不同是体现在目录与存储介质(磁盘,内存,DVD 等)的关系上,以往的 Windows 一直是以存储介质为主的,主要以盘符(C 盘,D 盘...)及分区来实现文件管理,然后之下才是目录,目录就显得不是那么重要,除系统文件之外的用户文件放在任何地方任何目录也是没有多大关系。所以通常 Windows 在使用一段时间后,磁盘上面的文件目录会显得杂乱无章(少数善于整理的用户除外吧)。然而 UNIX/Linux 恰好相反,UNIX 是以目录为主的,Linux 也继承了这一优良特性。 Linux 是以树形目录结构的形式来构建整个系统的,可以理解为树形目录是一个用户可操作系统的骨架。虽然本质上无论是目录结构还是操作系统内核都是存储在磁盘上的,但从逻辑上来说 Linux 的磁盘是“挂在”(挂载在)目录上的,每一个目录不仅能使用本地磁盘分区的文件系统,也可以使用网络上的文件系统。举例来说,可以利用网络文件系统(Network File System,NFS)服务器载入某特定目录等。
FHS 标准
FHS(英文:Filesystem Hierarchy Standard 中文:文件系统层次结构标准),多数 Linux 版本采用这种文件组织形式,FHS 定义了系统中每个区域的用途、所需要的最小构成的文件和目录同时还给出了例外处理与矛盾处理。FHS 定义了两层规范,第一层是, /
下面的各个目录应该要放什么文件数据,例如 /etc
应该放置设置文件,/bin
与 /sbin
则应该放置可执行文件等等。
第二层则是针对 /usr
及 /var
这两个目录的子目录来定义。例如 /var/log
放置系统登录文件,/usr/share
放置共享数据等等。
home
目录:cd ~
使用 pwd
获取当前路径
绝对路径,简单地说就是以根" / "目录为起点的完整路径,以你所要到的目录为终点,表现形式如:
/usr/local/bin
,表示根目录下的 usr
目录中的 local
目录中的 bin
目录。
相对路径,也就是相对于你当前的目录的路径,相对路径是以当前目录 . 为起点,以你所要到的目录为终点,表现形式如:usr/local/bin
(这里假设你当前目录为根目录)。
使用 mkdir
(make directories)命令可以创建一个空目录,也可同时指定创建目录的权限属性
使用 -p
参数,同时创建父目录(如果不存在该父目录),如下我们同时创建一个多级目录
(这在安装软件、配置安装路径时非常有用) mkdir -p father/son/grandson
使用
cp
(copy)命令复制一个文件到指定目录:
cp test father/son/grandson
要成功复制目录需要加上
-r
或者 -R
参数,表示递归复制,就是说有点“株连九族”的意思:cp -r father family
跟复制目录一样,要删除一个目录,也需要加上 -r
或 -R
参数:rm -r family
使用
mv
(move or rename files)命令移动文件(剪切)。将文件“ file1 ”移动到 Documents
目录:mv 源目录文件 目的目录
将文件“ file1 ”重命名为“ myfile ”:mv file1 myfile
使用通配符批量创建 5 个文件:
$ touch file{1..5}.txt
# 批量将这 5 个后缀为 .txt 的文本文件重命名为以 .c 为后缀的文件:
$ rename 's/\.txt/\.c/' *.txt
# 批量将这 5 个文件,文件名改为大写:
$ rename 'y/a-z/A-Z/' *.c
cat passwd
#可以加上 -n
参数显示行号,nl
命令,添加行号并打印,这是个比 cat -n
更专业的行号打印命令
使用 head
和 tail
命令查看文件
更直接的只看一行, 加上 -n
参数,后面紧跟行数:tail -n 1 /etc/passwd
查看文件类型:file /bin/ls
编辑文件:vim
TEST:1. 创建一个 homework 目录,建立名为 1.txt~10.txt 文件,并删除 1.txt~5.txt 。2. Linux 的日志文件在哪个目录?
touch file{1..10}.txtrm file{1..5}.txt
??log??