1、Linux系统中的常用快捷键 2、cd命令:切换目录 3、ls命令:查看文件与目录 4、mkdir命令:新建新目录 5、rmdir命令:删除空的目录 6、cp命令:复制文件或目录 7、mv命令:移动文件与目录,或更名 8、rm命令:移除文件或目录 9、cat命令:查看文件内容 10、tac命令:反向列示文件内容 11、more命令:一页一页翻动查看,只能向后翻页 12、less命令:一页一页翻动查看,可以前后翻页 13、head命令:取出前面几行 14、tail命令:取出后面几行 15、touch命令:修改文件时间或创建新文件 16、chown命令:修改文件所有者权限 17、find命令:文件查找 18、tar命令:压缩命令 19、grep命令:查找字符串 20、vi/vim命令:Linux文件编辑器 21、用户及权限相关命令
为后续上机实验做准备,熟悉常用的Linux操作。
操作系统:Ubuntu14.04
1、Linux系统中的常用快捷键 Tab 自动补全 上下箭头 显示历史命令 Ctrl+a 光标移动到开始位置 Ctrl+c 终止进程/命令 Ctrl+e 光标移动到最末尾 Ctrl+k 删除此处至末尾的所有内容 Ctrl+u 删除此处至开始的所有内容 Ctrl+d 删除当前字符 Ctrl+h 删除当前字符前一个字符 Ctrl+w 删除此处到左边的单词 Ctrl+y 粘贴由Ctrl+u, Ctrl+d, Ctrl+w删除的单词 Ctrl+l 相当于clear,即清屏 Ctrl+b 向回移动光标 Ctrl+f 向前移动光标 Ctrl+t 将光标位置的字符和前一个字符进行位置交换 Ctrl+& 恢复 ctrl+h 或者 ctrl+d 或者 ctrl+w 删除的内容 Ctrl+S 暂停屏幕输出 Ctrl+Q 继续屏幕输出 Ctrl+p 向上显示缓存命令 Ctrl+n 向下显示缓存命令 Shift+Ctrl+C 复制 Shift+Ctrl+V 粘贴
2、cd命令:切换目录 (1)切换到指定目录
cd /usr/local
cd /usr cd local (2)切换到当前目录的上层目录
cd /home/code cd .. (3)从当前目录向上级返回两层
cd /home/code cd ../../ (4)切换到当前目录的上一个目录,不同于上层目录哦,体会一下
cd /usr/local cd /home cd - (5)从任何目录返回到当前用户的home目录
cd ~ ls (6)切换到整个文件系统的根目录 用ls命令显示当前目录下的内容,对比一下当前用户的home目录和系统根目录有什么不同?
cd / ls 3、ls命令:查看文件与目录 命令格式: ls [选项] [文件名] 主要选项参数如下:
-a:全部的文件,连同隐藏文件( 开头为 . 的文件) 一起列出来(常用) -A:全部的文件,连同隐藏文件,但不包括 . 与 .. 这两个目录 -d:仅列出目录本身,而不是列出目录内的文件数据(常用) -f:直接列出结果,而不进行排序 (ls 默认会以文件名排序!) -F:根据文件、目录等信息,给予附加数据结构,例如: *:代表可可执行文件; /:代表目录; =:代表 socket 文件; |:代表 FIFO 文件; -h:将文件大小以人类较易读的方式(例如 GB, KB 等等)列出来; -i:列出 inode 号码; -l:长数据串行出,包含文件的属性与权限等等数据;(常用) -r:将排序结果反向输出,例如:原本文件名由小到大,反向则为由大到小; -R:连同子目录内容一起列出来,等于该目录下的所有文件都会显示出来; -S:以文件大小大小排序,而不是用文件名排序; -t:依时间排序,而不是用文件名。 我们主要练习以下几个常用的ls命令,你也可以自己使用上述参数进行练习。 (7)不跟任何选项与目录,表示列举当前目录的文件信息
cd /usr/local ls (8)使用长格式列举文件和目录信息
ls -l # 注意是字母L的小写 (9)列出所有文件,包括隐藏文件,在linux下,用’.’开头的表示隐藏文件:
ls -a ls -A # 跟ls -a结果差不多,只不过-A不包括 . 和 .. ls -al # 多个选项也可以组合 (10)ls -F 如果是目录,会加上反斜线
ls -alF (11)ls -d 列举目录本身信息,而不是查看目录下的文件信息
ls -ld 4、mkdir命令:新建新目录 命令格式: mkdir [选项] [目录] 主要选项参数如下:
-m:—mode=模式,设定权限<模式> -p:—parents 递归创建目录 -v:—verbose 每次创建新目录都显示信息 常用的mkdir命令: (12)进入/tmp目录,创建一个名为a的目录,并查看有多少目录存在
cd /tmp mkdir a ls -al (13)创建目录a1/a2/a3/a4
mkdir -p a1/a2/a3/a4
ls -al (14)创建目录mydir并显示信息
mkdir -v mydir (15)创建权限为777的目录,也可以是其他权限,详见下面的小贴士
mkdir -m 777 abc
ls -al
小贴士:关于Linux系统的777权限 Linux/Unix 的文件存取权限分为三级 : 文件拥有者(Owner)、群组(Group)、其他(Other)。通常用一个九位的字符串来依次表示Owner、Group和Other的文件操作权限,如rwxrwxrwx。从左至右,1-3位字符代表文件所有者的权限,4-6位字符代表同组用户的权限,7-9字符代表其他用户的权限。而具体的权限是由数字来表示的,读取的权限等于4,用r表示;写入的权限等于2,用w表示;执行的权限等于1,用x表示。通过4、2、1的组合,得到以下几种权限:0(没有权限);4(读取权限);5(4+1 | 读取+执行);6(4+2 | 读取+写入);7(4+2+1 | 读取+写入+执行)。
以755为例:
(1)1-3位7等于4+2+1,rwx,所有者(Owner)具有读取、写入、执行权限;
(2)4-6位5等于4+1+0,r-x,同组用户(group)具有读取、执行权限但没有写入权限;
(3)7-9位5,同上,也是r-x,其他用户(Other)具有读取、执行权限但没有写入权限。
copy
5、rmdir命令:删除空的目录 命令格式: rmdir [选项] [目录] 主要选项参数如下:
-p:递归删除目录dirname, 当子目录删除后其父目录为空时,也一同被删除。如果整个路径被删除或者由于某种原因保留部分路径,则系统在标准输出上显示相应的信息。 -v:—verbose 显示指令执行过程 常用的rmdir命令: (16)将上例创建的目录a(/tmp下面)删除
rmdir a (17)删除目录a1/a2/a3/a4,查看有多少目录存在
rmdir -p a1/a2/a3/a4 ls -al 6、cp命令:复制文件或目录 命令格式: cp [选项] 源文件或目录 目标文件或目录 主要选项参数如下:
-a :该选项通常在拷贝目录时使用。它保留链接、文件属性,并递归地拷贝目录,其作用等于dpR选项的组合。 -d :拷贝时保留链接。 -f :删除已经存在的目标文件而不提示。 -i :和f选项相反,在覆盖目标文件之前将给出提示要求用户确认。回答y时目标文件将被覆盖,是交互式拷贝。 -p :此时cp除复制源文件的内容外,还将把其修改时间和访问权限也复制到新文件中。 -r :若给出的源文件是一目录文件,此时cp将递归复制该目录下所有的子目录和文件。此时目标文件必须为一个目录名。 -l :不作拷贝,只是链接文件。 常用的cp命令:
(18)将主文件夹下的.bashrc复制到/usr下,命名为bashrc1
cp ~/.bashrc /usr/bashrc1 cd /usr ls -al (19)在/tmp下新建目录test,再复制这个目录内容到/usr
cd /tmp mkdir test cp -r /tmp/test /usr 7、mv命令:移动文件与目录,或更名 命令格式: mv [选项] 源文件或目录 目标文件或目录 主要选项参数如下:
-b :若需覆盖文件,则覆盖前先行备份。 -f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖; -i :若目标文件 (destination) 已经存在时,就会询问是否覆盖! -u :若目标文件已经存在,且 source 比较新,才会更新(update) 常用的mv命令: (20)将上例文件bashrc1移动到目录/usr/test
mv /usr/bashrc1 /usr/test (21)将上例test目录重命名为test2
mv /usr/test /usr/test2 8、rm命令:移除文件或目录 命令格式: rm [选项] 文件或目录 主要选项参数如下:
-d:直接把欲删除的目录的硬连接数据删除成0,删除该目录; -f:强制删除文件或目录; -i:删除已有文件或目录之前先询问用户; -r或-R:递归处理,将指定目录下的所有文件与子目录一并处理 常用的rm命令: (22)将上例复制的bashrc1文件删除
rm /usr/test2/bashrc1 (23)将上例的test2目录删除
rm -r /usr/test2 9、cat命令:查看文件内容 命令格式: cat [选项] 文件名 主要选项参数如下:
-n :由 1 开始对所有输出的行数编号 -b :-n 相似,只不过对于空白行不编号 -s :当遇到有连续两行以上的空白行,就代换为一行的空白行 常用的cat命令:
(24)查看主文件夹下的.bashrc文件内容
cat ~/.bashrc cat -n ~/.bashrc 10、tac命令:反向列示文件内容 命令格式: tac [选项] 文件名
(25)反向查看主文件夹下.bashrc文件内容
tac ~/.bashrc 11、more命令:一页一页翻动查看,只能向后翻页 命令格式: more 文件名 (26)翻页查看主文件夹下.bashrc文件内容
more ~/.bashrc
ls -al | more 12、less命令:一页一页翻动查看,可以前后翻页 命令格式: less 文件名 (27)翻页查看主文件夹下.bashrc文件内容
less ~/.bashrc
/weblogic
13、head命令:取出前面几行 命令格式: head -n number 文件名 (28)查看主文件夹下.bashrc文件内容前20行
head -n 20 ~/.bashrc (29)查看主文件夹下.bashrc文件内容,后面50行不显示,只显示前面几行
head -n -50 ~/.bashrc 14、tail命令:取出后面几行 命令格式: tail -n number 文件名 (30)查看主文件夹下.bashrc文件内容最后20行
tail -n 20 ~/.bashrc (31) 查看主文件夹下.bashrc文件内容,只列出50行以后的数据
tail -n +50 ~/.bashrc 15、touch命令:修改文件时间或创建新文件 命令格式: touch 【选项】 文件名 主要选项参数如下:
-a: 只更改访问时间 -d: 使用指定字符串表示时间而非当前时间 -m : 只更改修改时间 -t STAMP: 使用[[CC]YY]MMDDhhmm[.ss] 格式的时间而非当前时间 常用的touch命令: (32)在/tmp下创建一个空文件hello并查看时间
cd /tmp touch hello ls -l hello (33)修改hello文件,将日期调整为5天前
touch -d "5 days ago" hello 16、chown命令:修改文件所有者权限 命令格式: chown 【选项】 user[:group] 文件名 主要选项参数如下:
-c : 若该文件拥有者确实已经更改,才显示其更改动作 -f : 若该文件拥有者无法被更改也不要显示错误讯息 -h : 只对于连结(link)进行变更,而非该 link 真正指向的文件 -v : 显示拥有者变更的详细资料 -R : 对目前目录下的所有文件与子目录进行相同的拥有者变更(即以递回的方式逐个变更) 常用的chown命令: (34)将hello文件所有者改为root帐号,并查看属性
chown root /tmp/hello ls -l /tmp/hello 17、find命令:文件查找 命令格式: find 目录 【选项】 主要选项参数如下:
-name 按照文件名查找文件 -perm 按照文件权限来查找文件 -user 按照文件属主来查找文件 -group 按照文件所属的组来查找文件 常用的find命令: (35)找出主文件夹下文件名为.bashrc的文件
find ~ -name .bashrc 18、tar命令:压缩命令 命令格式: tar [主选项+辅选项] 文件或目录 主要选项参数如下: 主选项参数:
-c 创建新的文件。如果用户想备份一个目录或是一些文件,就要选择这个选项。 -r 把要存档的文件追加到文件的未尾。例如用户已经做好备份文件,又发现还有一个目录或是一些文件忘记备份了,这时可以使用该选项,将忘记的目录或文件追加到备份文件中。 -t 列出文件的内容,查看已经备份了哪些文件。 -u 更新文件。就是说,用新增的文件取代原备份文件,如果在备份文件中找不到要更新的文件,则把它追加到备份文件的最后。 -x 从文件中释放文件,也就是解压缩。 辅选项参数:
-b 该选项是为磁带机设定的,其后跟一数字,用来说明区块的大小,系统预设值为20(20×512 bytes)。 -f 指定档案文件名或设备名,这个选项通常是必选的。 -k 保存已经存在的文件。例如把某个文件还原,在还原的过程中遇到相同的文件,不会进行覆盖。 -m 在还原文件时,把所有文件的修改时间设定为现在。 -M 创建多卷的档案文件,以便在几个磁盘中存放。 -v 详细报告tar处理的文件信息。如无此选项,tar不报告文件信息。 -w 每一步都要求确认。 -z 用gzip来压缩/解压缩文件,加上该选项后可以将档案文件进行压缩,但还原时也一定要使用该选项进行解压缩。 常用的tar命令:
(36)在/目录下新建文件夹test,然后在“/”目录下打包成test.tar.gz
mkdir /test #在/目录下新建文件夹test cd / # 进入“/”目录 tar -zcv -f /test.tar.gz test #打包test子目录 (37)解压缩到/tmp目录
tar -zxv -f /test.tar.gz -C /tmp cd /tmp ls -al 19、grep命令:查找字符串 命令格式: grep [选项] 主要选项参数如下:
-a :将 binary 文件以 text 文件的方式搜寻数据 -c :计算找到 ‘搜寻字符串’ 的次数 -i :忽略大小写的不同,所以大小写视为相同 -n :顺便输出行号 -v :反向选择,亦即显示出没有 ‘搜寻字符串’ 内容的那一行! 常用的grep命令:
(38)从~/.bashrc文件中查找字符串’examples’
grep -n 'examples' ~/.bashrc 20、vi/vim命令:Linux文件编辑器 vi/vim编辑器是所有Unix及Linux系统下标准的编辑器,vi可以分为三种状态,分别是命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode):
(39)进入vi 在系统提示符号输入vi及文件名称后,就进入vi全屏幕编辑画面:
vi myfile 进入vi之后,是处于「命令行模式(command mode)」,需要切换到「插入模式(Insert mode)」才能够输入文字。
(40)切换至插入模式(Insert mode)编辑文件
在「命令行模式(command mode)」下按一下字母「i」就可以进入「插入模式(Insert mode)」,这时候你就可以开始输入文字了。
(41)切换到命令行模式
你目前处于「插入模式(Insert mode)」,可以对文件进行插入、删除、修改等操作,如果此时你想保存退出,首先需要切换到命令行方式,就要先按一下「ESC」键转到「命令行模式(command mode)」。
(42)退出vi及保存文件
在「命令行模式(command mode)」下,按一下「:」冒号键进入「Last line mode」,例如:
:w filename 输入 「w filename」将文件以指定的文件名filename保存) :wq (输入「wq」,存盘并退出vi) :q! (输入q!, 不存盘强制退出vi) 21、用户及权限相关命令 (43)useradd命令:新建用户
命令格式: useradd [选项] 用户名 主要选项参数如下:
-d<登入目录> 指定用户登入时的目录。 -g<群组> 初始群组。 -G<群组> 非初始群组。 -m 自动创建用户的家目录(Home目录)。 -M 不要创建用户的家目录(Home目录)。 -N 不要创建以用户名称为名的群组。 -s 指定用户登入后所使用的shell。 常用的grep命令:
sudo useradd tester1
sudo useradd tester2 -N
sudo useradd tester3 -g sudo (44)password命令:设置密码
好,新建了用户之后,我们需要为其设置密码:
copy
命令格式: passwd [选项] 用户名 主要选项参数如下:
-d 删除密码 -f 强制执行 -k 更新只能发送在过期之后 -l 停止账号使用 -S 显示密码信息 -u 启用已被停止的账户 -x 设置密码的有效期 -g 修改群组密码 -i 过期后停止用户账号 passwd tester1 # 根据提示需输入两次密码 passwd -S tester1 #显示用户密码 passwd -d tester1 #删除用户密码 (45)su命令:切换用户
我们也可以根据需要选择切换用户,命令很简单:
copy
su tester1 su tester2 (46)sudo命令
从root用户切换到普通用户之后(而且这个用户普通到没有在sudo组里),假如我们需要执行一些root用户才可以执行的命令怎么办?来回切换用户似乎太麻烦了。这时候,sudo命令可以帮你解决这个问题。
简单的说,sudo 是一种权限管理机制,管理员可以授权于一些普通用户去执行一些 root 执行的操作,而不需要知道 root 的密码。
严谨些说,sudo 允许一个已授权用户以超级用户或者其它用户的角色运行一个命令。当然,能做什么不能做什么都是通过安全策略来指定的。sudo 支持插件架构的安全策略,并能把输入输出写入日志。默认的安全策略记录在 /etc/sudoers 文件中。而安全策略可能需要用户通过密码来验证他们自己。也就是在用户执行 sudo 命令时要求用户输入自己账号的密码。如果验证失败,sudo 命令将会退出。
系统默认创建了一个名为 sudo 的组。只要把用户加入这个组,用户就具有了 sudo 的权限。当然,必须有具有sudo权限的用户来执行这个操作,比如root用户,所执行的命令为 adduser username sudo 。
copy
adduser tester1 sudo
学习时间 36分钟
操作时间 6分钟
按键次数 194次
实验次数 26次
报告字数 10274字
是否完成 完成