初步Linux系统——基本命令

初涉Linux系统——基本操作

1.Linux系统的特点
2.虚拟机的三种网络模式
3.Linux区别于Windows系统的特征
5.Linux系统的目录结构
    5.1 基本命令
    5.2 文件和目录管理
    5.3 查看输出语言环境变量
    5.4 日期和时间相关的命令
    5.5 文件查找
    5.6 查看文件状态
    5.7 其他辅助命令
    5.8 重定向和管道
6. 关于通配符
7. 测试题
    7.1 测试一
    7.2 测试二
    7.3 测试三

Linux系统的特点:

免费、自由、开放

虚拟机的三种网络模式:

桥接模式、仅主机模式、NAT模式

Linux区别于Windows系统的特征:

​ 1、一切皆是文件
​ 2、整个系统是由众多的小程序组成
​ 3、使用纯文本

Linux系统的目录结构

Linux系统的目录结构是倒置的树形,只有一个根目录,用’/'表示
/boot 存放Linux系统启动所必须的文件
/etc 存放linux系统程序的配置文件
/dev 存放linux系统中的硬盘、光驱、鼠标等硬件设备文件
/bin 存放linux系统中最常用的命令
/sbin 存放linux系统基本的管理命令
/usr 软件默认安装位置
/home 普通用户家目录(也称主目录)
/root 超级用户的家目录
/mnt 一般为空,临时挂载存储设备
/tmp 临时目录,用来存放临时文件
/var 存放经常变化的文件

Linux基本命令

基本命令:

pwd	查看、显示当前所在工作目录

[root@localhost ~]# pwd
/root

cd	切换工作目录

[root@localhost /]# cd root/home
[root@localhost home]# cd //只执行cd,将直接跳转回家目录
[root@localhost ~]#

文件和目录管理

ls	文件和目录管理

[root@localhost ~]# ls
anaconda-ks.cfg 公共 视频 文档 音乐
initial-setup-ks.cfg 模板 图片 下载 桌面

ls /	Linux文件目录(根目录用 / 表示)

[root@localhost ~]# ls /
bin dev home lib64 mnt proc run srv tmp var
boot etc lib media opt root sbin sys usr

ls -l	显示文件的详细信息
[root@localhost ~]# ls -l
//ls -l 可以简写成ll

总用量 8
-rw-------. 1 root root 1632 9月 15 14:09 anaconda-ks.cfg
-rw-r–r--. 1 root root 1680 9月 15 14:14 initial-setup-ks.cfg

ls -a	显示所有文件

[root@localhost ~]# ls -la
总用量 56
dr-xr-x—. 14 root root 4096 9月 16 08:46 .
dr-xr-xr-x. 17 root root 224 9月 15 14:08 …

ls -d	显示目录本身的属性
ls -h	以K,M,G显示文件大小

可以使用 ls -la 查看所有文件的详细信息

cp /doucment1/file /document2/file 将文件从/doucment1/file复制到/document2
cp /doucment1/file /document2/file.com 将文件从/doucment1/file复制到
/document2并改名为file.com

在复制包含文件的目录时,附加一个参数 -r ,进行迭代复制
mkdir	创建一个文件夹
	-p	一次创建多级目录
rmdir	删除空目录
rm		删除文件或目录
	-r	删除目录
	-f	强制删除不确认
mv		移动文件或目录(重命名)
touch	创建可写入内容的文件
vi		编辑可写入文件,如果不存在文件则创建并编辑
	在编辑文件的界面下,编辑完成后按 Esc + :+ wq 完成并保存编辑
cat		显示可读文件的内容
	-n	加行号

more	翻页显示文本文件内容
less	翻页显示(可向上翻页)文本文件内容

head	查看文件开头部分内容(默认10行)
tail	查看文件结尾部门内容(默认10行)
	-num设定查看几行
	-f	实时显示文件

echo	回显(输出的在下一行显示)
将内容追加到文件中 
[root@localhost ~]# echo 'zhangsan' > 1.txt	//覆盖
[root@localhost ~]# echo ' lisi' >> 1.txt	//追加

[root@localhost ~]# cat 1.txt
zhangsan
lisi

wc 文件内容统计(用于显示行数、单词数、字节数)
-l 显示行数

[root@localhost ~]# wc 1.txt
2 2 15 1.txt

查看输出语言环境变量

[root@localhost ~]# echo $LANG

zh_CN.UTF-8

日期和时间相关的命令

date 显示或修改日期的时间 hwclock 显示或修改硬件时钟 cal 显示日历(默认本月) year 年历

文件查找

locate	简单快速的文件查找命令(新建的文件,使用locate命令无法找到该文件)
find	强大的文件查找命令
	-name	按名称查找,允许使用通配符
	-iname	按名称查找,不区分大小写 
	-empty	
	-type	按照文件类型查找
		f	普通文件
		d	目录
	-exec	把查找到的结果当作文件处理 使用{}代表查找到
grep[option] 查找条件 目标文件	文件内容查找
	-n	输出行号
	-v	反转查找 相当于非
	-i	不区分大小写
	-w	精确匹配(只含有查找条件)
grep不支持'*''?',支持'^','\$' ,'^\$'表示空白行
[root@localhost ~]# grep '^ ' 1.txt
 lisi

查看文件状态

stat 文件路径
最近访问时间:Atime
最近更改时间:Mtime 更改内容
最近改动时间:Ctime 改名、更改路径

其他辅助命令

in		为文件或目录建立链接
	-d/-g	硬链接
	-s		软链接
type	判断是内部命令还是外部命令
alins [别名 = '标准Shell命令行']	创建别名

重定向和管道

    > ​ 覆盖
    > >​ 追加

ctrl + l 清屏

关于通配符

‘*’ 代表一个或多个任意字符
‘?’ 代表任意一个字符
‘[]’ 可以匹配指定范围内的任意单个字符
‘{}’ 可以包含一个以逗号分隔的列表,并将其自动展开多个路径或文件名
‘^xxx’ 以XXX开头
‘xxx$’ 以xxx结尾

测试题

测试一:

1、查看Linux系统的IP地址

ifconfig

2、在Linux系统中利用ping命令测试能否与主机192.168.10.11通信

ping 192.168.10.11

3、将目录/etc/rc.d/复制到root用户的家目录

[root@localhost ~]# cp -r /etc/rc.d/ /root
drwxr-xr-x. 10 root root  127 9月  16 10:39 rc.d

4、将工作目录更改为/boot/grub,并查看当前所处的工作目录
[root@localhost ~]# cd /boot/grub/
[root@localhost grub]# pwd
/boot/grub
5、查看文件/etc/passwd的内容

[root@localhost grub]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
....

6、以长格式显示/etc/inittab文件的详细信息

[root@localhost ~]# ll /etc/inittab
-rw-r--r--. 1 root root 511 10月 31 2018 /etc/inittab

7、将文件/etc/inittab复制到root用户的家目录,并改名为inittab.tak

[root@localhost ~]# cp /etc/inittab /root/inittab.bak
[root@localhost ~]# ls
1  anaconda-ks.cfg  initial-setup-ks.cfg  rc.d  模板  图片  下载  桌面
a  home             inittab.bak           公共  视频  文档  音乐

8、查看文件/etc/passwd前三行的内容

[root@localhost ~]# head -3 /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin

9、以长格式显示/dev目录中所有以’sd’开头的文件详细信息

[root@localhost ~]# ll /dev/sd*
brw-rw----. 1 root disk 8, 0 9月  16 10:10 /dev/sda
brw-rw----. 1 root disk 8, 1 9月  16 10:10 /dev/sda1
brw-rw----. 1 root disk 8, 2 9月  16 10:10 /dev/sda2

10、在root用户的家目录里创建一个名为text1的目录

[root@localhost ~]# ls
1  anaconda-ks.cfg  initial-setup-ks.cfg  rc.d   公共  视频  文档  音乐
a  home             inittab.bak           test1  模板  图片  下载  桌面

测试二、

1、为Linux系统设置IP地址192.168.80.10/24
ifconfig en333 192.168.20.10/24

2、显示/etc目录中的所有内容,包括隐藏文件或文件夹

[root@localhost ~]# ls -a /etc
. hostname profile.d
… hosts protocols
abrt hosts.allow pulse
adjtime hosts.deny purple

3、以长格式显示/etc目录本身的详细信息

[root@localhost ~]# ll -d /etc
drwxr-xr-x. 138 root root 8192 9月  16 15:04 /etc

4、在/root/test1目录中创建一个名为temp1的空文件。

[root@localhost ~]# touch /root/test1/temp1
[root@localhost ~]# cd /root/test1
[root@localhost test1]# ls
temp1

5、将/root/test1/目录强制删除。

[root@localhost ~]# rm -rf /root/test1
[root@localhost ~]# ls
1       2.txt            home                  rc.d   公共  图片  音乐
12.txt  a                initial-setup-ks.cfg  text1  模板  文档  桌面
1.txt   anaconda-ks.cfg  inittab.bak           text2  视频  下载

6、将文件/etc/passwd复制一份进行备份,仍然保存在/etc目录下,备份文件名为passwd.bak
[root@localhost ~]# cp -r /etc/passwd /etc/passwd.bak

7、分屏查看/etc/passwd文件的内容

[root@localhost ~]# tail -5 /etc/passwd
avahi:x:70:70:Avahi mDNS/DNS-SD Stack:/var/run/avahi-daemon:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
ntp:x:38:38::/etc/ntp:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin

8、查看/etc/passwd文件的后5行内容

[root@localhost ~]# tail -5 /etc/passwd
avahi:x:70:70:Avahi mDNS/DNS-SD Stack:/var/run/avahi-daemon:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
ntp:x:38:38::/etc/ntp:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
user:x:1000:1000:user:/home/user:/bin/bash

9、从/etc/passwd文件中找出所有以’root’字符串开头的行

[root@localhost ~]# grep "^root" /etc/passwd
root:x:0:0:root:/root:/bin/bash

10、统计/etc/passwd文件的行数

[root@localhost ~]# cat /etc/passwd | wc -l

43

测试三、

1、以长格式显示root用户家目录中的所有内容,包括隐藏文件或目录

[root@localhost ~]# ls -la /root

总用量 72
dr-xr-x—. 19 root root 4096 9月 16 16:03 .
dr-xr-xr-x. 17 root root 224 9月 15 14:08 …
drwxr-xr-x. 3 root root 15 9月 16 16:03 1

2、在/etc目录中查找所有名称以“net”开头,以“。conf”结尾的文件

[root@localhost ~]# find /etc -name "net*.conf"

/etc/dbus-1/system.d/net.reactivated.Fprint.conf
/etc/sane.d/net.conf

3、从/root/install.log文件中查找包含字符串“lib”的行

grep -l "*lib*" /root/install.log

4、以K、M、G等容量单位显示/etc目录中所有文件和目录的纤细信息

[root@localhost ~]# ls -lah /etc

总用量 1.4M
drwxr-xr-x. 138 root root 8.0K 9月 16 15:04 .
dr-xr-xr-x. 17 root root 224 9月 15 14:08 …
drwxr-xr-x. 3 root root 101 9月 15 13:57 abrt
-rw-r–r--. 1 root root 16 9月 15 14:08 adjtime

5、将/etc/passwd文复制到/tep目录中,并重命名为hi.txt

[root@localhost ~]# mkdir /root/temp
[root@localhost ~]# cp /etc/fstab /temp/hi.txt

6、找到find命令文件路径

[root@localhost ~]# which find

/usr/bin/find

7、将/etc/passwd文件中前10行的内容复制到/root/pass.txt文件中

[root@localhost ~]# head /etc/passwd > /root/pass.txt
[root@localhost ~]# cat pass.txt
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin

8、以长格式列出/dev目录中以’d’、'f’开头并且文件名并且文件名为3个字符的文件

[root@localhost ~]# ll -d /dev/[df]??

drwxr-xr-x. 2 root root 80 9月 16 20:50 /dev/dri
crw-rw----. 1 root video 29, 0 9月 16 20:51 /dev/fb0

9、将执行find / -user student命令时产生的错误信息重定向到/dev/null文件中

find /-user user 2> /dev/null

10、在/tmp目录中创建一个名为ssh的软链接,指向源文件/etc/shh/sshd_config

[root@localhost ~]# ln -s /etc/shh/sshd_config /tmp/ssh

[root@localhost ~]# ll /tmp/ssh
lrwxrwxrwx. 1 root root 20 9月 16 22:51 /tmp/ssh -> /etc/shh/sshd_config

你可能感兴趣的:(linux,shell)