【Linux学习】—Linux常用指令

简介: 【Linux学习】—Linux常用指令

一、初识Linux

二、Unix和Linux介绍

1.1、Unix与Linux发展史

1.1.1、Unix发展历史和发型版本

(1)1965年,麻省理工、通用电气、贝尔实验室联合开发了Multics工程计划,虽然此计划后来失败了,但直接推动了Unix的产生

(2)1969年,贝尔实验室的肯·汤普森开在DEC PDP-7机器上开发了Unix系统

(3)1971年,丹尼斯·里奇发明了C语言

(4)1973年,Unix系统的绝大部分源代码使用C语言重写,为提高Unix系统的可移植性打下基础

1.2 Linux

(1)Linux诞生于1991年,由芬兰的大学生Linux Torvalds和后来陆续加入的众多的爱好者共同开发完成

(2)Linux是开源软件,是源代码开放的Unix

(3)Linux的标志是企鹅,有很多说法,有种说法是企鹅是芬兰的吉祥物,还有种说法是Linux Torvalds曾经被企鹅咬过,当然还有另外一种说法,企鹅处在北极,不属于任何国家,用企鹅作为logo表示linux是开源,不属于任何国家或者企业,属于全人类,同开源思想相吻合

1.2.1 Linux与Unix的关系图

1.3 Linux 和Windows 区别

三、Linux的目录结构

Linux 系统中一切皆文件

四、VI/VIM 编辑器(重要)

VI 是 Unix 操作系统和类 Unix 操作系统中最通用的文本编辑器。

VIM 编辑器是从 VI 发展出来的一个性能更强大的文本编辑器。可以主动的以字体颜色辨别语法的正确性,方便程序设计。VIM 与 VI 编辑器完全兼容。

4.2 测试数据准备

1)拷贝/etc/profile 数据到/root 目录下

[root@hadoop100 桌面]# cp /etc/profile /root
 [root@hadoop100 桌面]# cd /root/

五、VI/VIM 的三种模式

5.1一般模式(正常模式这是默认的模式)

以 vi 打开一个档案就直接进入一般模式了(这是默认的模式)。在这个模式中, 你可以使用『上下左右』按键来移动光标,你可以使用『删除字符』或『删除整行』来处理档 案内容, 也可以使用『复制、粘贴』来处理你的文件数据。

语法
yy 复制光标当前一行
y 数字 y 复制一段(从第几行到第几行)
p 箭头移动到目的行粘贴
u 撤销上一步
dd 删除光标当前行
d 数字 d 删除光标(含)后多少行
x 剪切一个字母,相当于 del
X 剪切一个字母,相当于 Backspace
yw 复制一个词
dw 删除一个词
shift+6(^) 移动到行头
shift+4 ($) 移动到行尾
shift+g 移动到页尾
数字+shift+g 移动到目标行

vi/vim 键盘图,如 下所示:

5.2 编辑模式

  • 在一般模式中可以进行删除、复制、粘贴等的动作,但是却无法编辑文件内容的!
  • 要 等到你按下『i, I, o, O, a, A』等任何一个字母之后才会进入编辑模式。
  • 注意了!通常在Linux中,按下这些按键时,在画面的左下方会出现『INSERT或REPLACE』的字样,此时才可以进行编辑。而如果要回到一般模式时, 则必须要按下『Esc』这个按键即可退出编辑模式。推出所在的模式为一般模式

按键 功能
i 当前光标前
a 当前光标后
o 当前光标行的下一行
I 光标所在行最前
A 光标所在行最后
O 当前光标行的上一行

5.3指令模式

在一般模式当中,输入『 : / ?』3个中的任何一个按钮,就可以将光标移动到最底下那一行。

在这个模式当中, 可以提供你『搜寻资料』的动作,而读取、存盘、大量取代字符、

5.4三种模式的相互切换

六、Linux 关机重启命令

七、用户登录和注销

八、用户管理

Linux系统是一个多用户任务的操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。

8.1 添加用户

8.2查询用户

8.3切换用户

8.4 查看当前用户(登录用户)

8.5 添加用户组

用户组:类似于角色,系统可以对有共性,权限的多个用户进行统一的管理。

[root@study ~]# groupadd demo
[root@study ~]# groupdel demo
[root@study ~]# groupadd demo
[root@study ~]# useradd -g demo zwj
[root@study ~]# id zwj
uid=1001(zwj) gid=1001(demo) 组=1001(demo)
[root@study ~]#  

8.6修改用户组

[root@study ~]#  groupadd mojiao
[root@study ~]# usermod -g mojiao zwj
[root@study ~]# id zwj
uid=1001(zwj) gid=1002(mojiao) 组=1002(mojiao)
[root@study ~]# 

8.7用户和组相关的文件

九、实用指令

9.1指定运行级别

9.2帮助指令

[user@study ~]$ ls
cpp         java  模板  图片  下载  桌面
hello.java  公共  视频  文档  音乐
[user@study ~]$ 

9.3 文件目录类

[root@study /]# mkdir /home/dog1
[root@study /]# cd home
[root@study home]# ls
animal  dog  dog1  tom  user  zwj
[root@study home]# mkdir -p /animal/tiger
[root@study home]# cd animal
[root@study animal]# ls
tiger
[root@study animal]# 

[root@study /]# rmdir /home/dog
[root@study /]# cd /home/
[root@study home]# ls
animal  dog1  tom  user  zwj
[root@study home]# rmdir /home/dog1
[root@study home]# ls
animal  tom  user  zwj
[root@study home]# rm -rf /home/animal
[root@study home]# ls
tom  user  zwj
[root@study home]# 

[root@study /]# cd /home
[root@study home]# touch hello.txt
[root@study home]# ls
hello.txt  tom  user  zwj
[root@study home]# 

[root@study /]# cd /home
[root@study home]# touch hello.txt
[root@study home]# ls
hello.txt  tom  user  zwj
[root@study home]# cp hello.txt bbb/
cp: 无法创建普通文件"bbb/": 不是目录
[root@study home]# mkdir bbb
[root@study home]# cp hello.txt bbb/
[root@study home]# cd bbb/
[root@study bbb]# ls
hello.txt
[root@study bbb]# touch hello2.txt
[root@study bbb]# ls
hello2.txt  hello.txt
[root@study bbb]# cp -r /home/bbb /opt/
[root@study bbb]# cd /opt
[root@study opt]# ls
bbb  rh
[root@study opt]# 
[root@study opt]# cp -r /home/bbb/ /opt/
cp:是否覆盖"/opt/bbb/hello.txt"? y
cp:是否覆盖"/opt/bbb/hello2.txt"? y
[root@study opt]# \cp -r /home/bbb/ /opt/
[root@study opt]# 

[root@study home]# touch cat.txt
[root@study home]# touch pig.txt
[root@study home]# ls
bbb  cat.txt  pig.txt  tom  user  zwj
[root@study home]# mv /home/cat.txt monkey.txt
[root@study home]# ls
bbb  monkey.txt  pig.txt  tom  user  zwj
[root@study home]# mv /home/monkey.txt /root
[root@study home]# ls
bbb  pig.txt  tom  user  zwj
[root@study home]# 

[root@study home]# cat -n /etc/profile
     1  # /etc/profile
     2  
     3  # System wide environment and startup programs, for login setup
     4  # Functions and aliases go in /etc/bashrc
     5  
     6  # It's NOT a good idea to change this file unless you know what you
     ……

[user@study ~]$ echo $HOSTNAME
study
[user@study ~]$ echo "hello world"
hello world
[user@study ~]$ head -n 5 /etc/profile
# /etc/profile
# System wide environment and startup programs, for login setup
# Functions and aliases go in /etc/bashrc
[user@study ~]$ 

时间日期类指令

[user@study home]$ date
2023年 09月 18日 星期一 09:14:51 CST
[user@study home]$ date +%Y
2023
[user@study home]$ date +%m
09
[user@study home]$ date +%d
18
[user@study home]$ date "+%Y-%m-%d %H:%M:%S"
2023-09-18 09:16:14
[user@study home]$ 

[user@study home]$ cal
      九月 2023     
日 一 二 三 四 五 六
                1  2
 3  4  5  6  7  8  9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
[user@study home]$ cal 2023
                               2023                               
        一月                   二月                   三月        
日 一 二 三 四 五 六   日 一 二 三 四 五 六   日 一 二 三 四 五 六
 1  2  3  4  5  6  7             1  2  3  4             1  2  3  4
 8  9 10 11 12 13 14    5  6  7  8  9 10 11    5  6  7  8  9 10 11
15 16 17 18 19 20 21   12 13 14 15 16 17 18   12 13 14 15 16 17 18
22 23 24 25 26 27 28   19 20 21 22 23 24 25   19 20 21 22 23 24 25
29 30 31               26 27 28               26 27 28 29 30 31
        四月                   五月                   六月        
日 一 二 三 四 五 六   日 一 二 三 四 五 六   日 一 二 三 四 五 六
                   1       1  2  3  4  5  6                1  2  3
 2  3  4  5  6  7  8    7  8  9 10 11 12 13    4  5  6  7  8  9 10
 9 10 11 12 13 14 15   14 15 16 17 18 19 20   11 12 13 14 15 16 17
16 17 18 19 20 21 22   21 22 23 24 25 26 27   18 19 20 21 22 23 24
23 24 25 26 27 28 29   28 29 30 31            25 26 27 28 29 30
30
        七月                   八月                   九月        
日 一 二 三 四 五 六   日 一 二 三 四 五 六   日 一 二 三 四 五 六
                   1          1  2  3  4  5                   1  2
 2  3  4  5  6  7  8    6  7  8  9 10 11 12    3  4  5  6  7  8  9
 9 10 11 12 13 14 15   13 14 15 16 17 18 19   10 11 12 13 14 15 16
16 17 18 19 20 21 22   20 21 22 23 24 25 26   17 18 19 20 21 22 23
23 24 25 26 27 28 29   27 28 29 30 31         24 25 26 27 28 29 30
30 31
        十月                  十一月                 十二月       
日 一 二 三 四 五 六   日 一 二 三 四 五 六   日 一 二 三 四 五 六
 1  2  3  4  5  6  7             1  2  3  4                   1  2
 8  9 10 11 12 13 14    5  6  7  8  9 10 11    3  4  5  6  7  8  9
15 16 17 18 19 20 21   12 13 14 15 16 17 18   10 11 12 13 14 15 16
22 23 24 25 26 27 28   19 20 21 22 23 24 25   17 18 19 20 21 22 23
29 30 31               26 27 28 29 30         24 25 26 27 28 29 30
                                              31
[user@study home]$ 

[root@study ~]# clear
[root@study ~]# find /home -name hello.txt
/home/bbb/hello.txt
[root@study ~]# ls -l
总用量 12
-rw-------. 1 root root 1587 4月  25 00:52 anaconda-ks.cfg
-rw-r--r--. 1 root root   60 9月  15 16:29 a.txt
-rw-r--r--. 1 root root 1615 4月  24 17:07 initial-setup-ks.cfg
drwxr-xr-x. 2 root root    6 9月  15 17:09 monkey.txt
[root@study ~]# ls -lh
总用量 12K
-rw-------. 1 root root 1.6K 4月  25 00:52 anaconda-ks.cfg
-rw-r--r--. 1 root root   60 9月  15 16:29 a.txt
-rw-r--r--. 1 root root 1.6K 4月  24 17:07 initial-setup-ks.cfg
drwxr-xr-x. 2 root root    6 9月  15 17:09 monkey.txt

[root@study ~]# locate hello.txt
/home/bbb/hello.txt
/opt/bbb/hello.txt
[root@study ~]# which ls
alias ls='ls --color=auto'
  /bin/ls
[root@study ~]# which reboot
/sbin/reboot
[root@study ~]# 

[root@study home]# gzip hello.txt
[root@study home]# ls
bbb  hello.txt.gz  pig.txt  tom  user  zwj
[root@study home]# gunzip hello.txt.gz
[root@study home]# ls
bbb  hello.txt  pig.txt  tom  user  zwj
[root@study home]# 

未完待续ing……


相关文章
|
3月前
|
NoSQL 关系型数据库 MySQL
Linux学习记录---(1、基本命令)
该博客文章提供了Linux系统中基本命令的使用记录,包括文件和目录操作、Redis服务管理、MySQL数据库操作以及Tomcat服务器的启动和检查。
Linux学习记录---(1、基本命令)
|
1天前
|
Linux Shell 数据安全/隐私保护
|
23天前
|
Linux Windows
【Linux】-基本指令(下)
【Linux】-基本指令(下)
【Linux】-基本指令(下)
|
17天前
|
Linux
【Linux第一弹】- 基本指令
【Linux第一弹】- 基本指令
31 1
|
20天前
|
Linux 编译器 C语言
【Linux快速入门(一)】Linux与ROS学习之编译基础(gcc编译)
【Linux快速入门(一)】Linux与ROS学习之编译基础(gcc编译)
|
23天前
|
并行计算 Ubuntu Linux
Ubuntu学习笔记(三):Linux下操作指令大全
Ubuntu学习笔记,介绍了Linux操作系统中常用的命令和操作,如文件管理、系统信息查看、软件安装等。
39 3
|
23天前
|
Unix Linux 索引
【Linux】-基本指令(上)
【Linux】-基本指令(上)
|
29天前
|
Linux Shell Windows
Linux入门1——初识Linux指令
Linux入门1——初识Linux指令
24 0
Linux入门1——初识Linux指令
|
1月前
|
人工智能 Unix Linux
装杯 之 Linux指令
本文介绍了Linux操作系统的基本命令。首先欢迎各位进入Linux的世界,并展示了`ls`命令,用于列出目录下的文件和子目录。接着介绍了`pwd`命令,用于显示当前目录;`cd`命令,用于切换目录;`mkdir`命令,用于创建目录;`touch`命令,用于创建普通文件或修改文件时间戳;`rmdir`命令,用于删除空目录;以及`rm`命令,用于删除文件或目录。通过这些基本命令,你可以开始探索和管理Linux系统。
|
1月前
|
网络协议 Linux
linux学习之套接字通信
Linux中的套接字通信是网络编程的核心,允许多个进程通过网络交换数据。套接字提供跨网络通信能力,涵盖本地进程间通信及远程通信。主要基于TCP和UDP两种模型:TCP面向连接且可靠,适用于文件传输等高可靠性需求;UDP无连接且速度快,适合实时音视频通信等低延迟场景。通过创建、绑定、监听及读写操作,可以在Linux环境下轻松实现这两种通信模型。
30 1