Linux文件系统:
Linux操作系统结构:硬件->Kernel(内核)->Shell(命令解释器)把命令解释成执行对应的脚本,相当于一个个方法->外层应用程序

一、 目录命令:
1.增加目录 //make directory 知道英文原意方便记忆
mkdir [/路径/]目录名 递归创建 mkdir -p
//mkdir +目录名 是在当前目录下建
2. 删除目录
rmdir [/路径/]目录名 //remove directory 删除空目录
删除非空目录或文件: rm -rf 目录名 // -r 递归 -f 强制
// 删库跑路必备技能,不要去删库跑路
3. 改变目录
(1)复制:cp -r 原路径 新路径
(2)移动/重命名:mv 原路径 新路径
4.查看目录:
(1)查看当前路径:pwd
(2)切换到路径:cd
(3)查看目录内容:ls //只有文件名或目录名

① -a 展示所有隐藏文件(包括隐藏文件)-A(不包括.和…)
// . 当前目录 … 上一级目录
// 通过当前目录和上一级目录一层一层的可以定位到根目录 目录结构
//开头为 . 的都视为隐藏,包括文件和目录
② -l 展示所有文件的详细信息 // l : list ll 是 ls -l 的缩写
③ -R 递归查找所有子内容
//这些目录下都有文件,进入目录继续查找,直到找到最后一层
二、文件命令
1.创建文件
(1) touch [/路径]文件名 // 最好加后缀 a.txt
(2) vi
2.删除文件
(1) rm [-r/-i/-f][/路径/]文件名
// -i 删除前逐一询问确认是否删除 -r 主要对文件夹使用,递归删除 -f 直接删除无需确认 默认是 -i
可以使用通配符rm -rf MySQL-* 一次性删除多个

3.改变文件
(1) 同改变目录 cp、mv命令
4.查看文件
(1) ls
(2) vi
三、文件内容命令
1.查看文件内容
(1) cat 文件名
(2) head [-n] 文件名 // -n 行数 默认为前十行,默认是没有文件名的,但是加了-v 会显示文件名 例:head -5v Hello.txt ==> Hello.txt <==

(3) tail [-n] 文件名 // 默认为后十行

//查看filename文件的第m行(tail -1 是数字1)
head -m filename | tail -1
//查看wangmingInfo.txt文件的第2行
head -2 wangmingInfo.txt | tail -1
| 管道符 将左边的结果作为右边的输入
2.增加文件内容
3.修改文件内容
4.删除文件内容
四、vi编辑器
1.模式:
(1)查看模式,按a,A,i,I,o,O,insert进入编辑模式,按:或/进入末行模式
(2)编辑模式:按ESC键回到查看模式
(3)末行模式:按ESC或者删掉末行代码回到查看模式
2.快捷键
(1)快速定位:gg是首行,末行shift+G,第n行 ngg
(2)进入编辑模式:
①在光标后插入:a
②在光标前插入:i
③定位到行尾插入:shift+a
④定位到行头插入:shift+i
⑤在下一行插入:o
⑥在上一行插入:O
(3) 复制: nyy
(4) 粘贴: np
(5) 删除/剪切: dd
(6) 撤销上一次:u
(7) 替换:r:替换光标所在的字符,R:一直替换,直到ESC退出
(8)n :n 表示数字,按下数字键后再按空格键,光标会向右移动到这一行的第n个字符,例如 20 空格 则光标会像后面移动20个字符的距离
(9) Ctrl+r 重做上一个动作
3.末行模式命令:
(1) 退出::q
(2) 保存::w 保存退出: :wq或者:x
(3) 强制:!
(4) 显示行号: :set nu 不显示: :set nonu
(5) 查找字符串:向下查找: /字符串 向上查找: ?字符串
①继续查找下一个:n,继续查找上一个: N 或 Shift+n
(6) 替换字符串: : s/要查找的字符串/替换后的字符串/g
//解释:n1,n2数字,代表从n1行到n2行之间。s代表查找并替换的这种方式,/代表查找,/代表要替换的字符串,/g到行尾 。从第一行到最后一行不需要加n1,n2
①批量注释: :%s/^/#/g
解释:%s代表所有的行,/^代表每一行的开头,/#把每一行的开头替换成#
②批量取消注释: :%s/#//g
history 查看最后执行的命令
五、用户管理:
1.用户家目录: ~
2.创建用户:useradd 用户名
3.修改密码:passwd 用户名
4.切换用户:su 用户名
5.删除用户:userdel 用户名
//创建用户的时候默认用户与用户组相同

tail -5 /etc/passwd
查询passwd文件后五行,新用户会显示在最后
关于/etc/passwd文件

root:x:0:0:root:/root:/bin/bash
在该文件中,每一行用户记录的各个数据段用“:”分隔,分别定义了用户的各方面属性。各个字段的顺序和含义如下:
注册名:口令:用户标识号:组标识号:用户名:用户主目录:命令解释程序
(1)注册名(login_name):用于区分不同的用户。在同一系统中注册名是惟一的。在很多系统上,该字段被限制在8个字符(字母或数字)的长度之内;并且要注意,通常在Linux系统中对字母大小写是敏感的。这与MSDOS/Windows是不一样的。
(2)口令(passwd):系统用口令来验证用户的合法性。超级用户root或某些高级用户可以使用系统命令passwd来更改系统中所有用户的口令,普通用户也可以在登录系统后使用passwd命令来更改自己的口令。
现在的Unix/Linux系统中,口令不再直接保存在passwd文件中,通常将passwd文件中的口令字段使用一个“x”来代替,将/etc /shadow作为真正的口令文件,用于保存包括个人口令在内的数据。当然shadow文件是不能被普通用户读取的,只有超级用户才有权读取。
此外,需要注意的是,如果passwd字段中的第一个字符是“*”的话,那么,就表示该账号被查封了,系统不允许持有该账号的用户登录。
(3)用户标识号(UID):UID是一个数值,是Linux系统中惟一的用户标识,用于区别不同的用户。在系统内部管理进程和文件保护时使用 UID字段。在Linux系统中,注册名和UID都可以用于标识用户,只不过对于系统来说UID更为重要;而对于用户来说注册名使用起来更方便。在某些特 定目的下,系统中可以存在多个拥有不同注册名、但UID相同的用户,事实上,这些使用不同注册名的用户实际上是同一个用户。
(4)组标识号(GID):这是当前用户的缺省工作组标识。具有相似属性的多个用户可以被分配到同一个组内,每个组都有自己的组名,且以自己的组标 识号相区分。像UID一样,用户的组标识号也存放在passwd文件中。在现代的Unix/Linux中,每个用户可以同时属于多个组。除了在 passwd文件中指定其归属的基本组之外,还在/etc/group文件中指明一个组所包含用户。
(5)用户名(user_name):包含有关用户的一些信息,如用户的真实姓名、办公室地址、联系电话等。在Linux系统中,mail和finger等程序利用这些信息来标识系统的用户。
(6)用户主目录(home_directory):该字段定义了个人用户的主目录,当用户登录后,他的Shell将把该目录作为用户的工作目录。 在Unix/Linux系统中,超级用户root的工作目录为/root;而其它个人用户在/home目录下均有自己独立的工作环境,系统在该目录下为每个用户配置了自己的主目录。个人用户的文件都放置在各自的主目录下。
(7)命令解释程序(Shell):Shell是当用户登录系统时运行的程序名称,通常是一个Shell程序的全路径名,如/bin/bash。

Linux权限操作命令
 su [用户名]:切换到指定用户
 whoami:查看当前登录用户
 groups:查看当前用户所属分组
 id:查看当前用户UID和GID
 useradd [用户名]:添加用户
 useradd –u [UID] 用户名:添加用户并指定UID
 passwd [用户名]:修改用户密码
 userdel [用户名]:删除用户
 usermod –l [新用户名][ 旧用户名]:修改用户登录名
 usermod –g [新组名称][用户名]:修改用户所属分组
 groupadd [组名]:添加分组
 groupadd –g [组GID][ 组名]:添加分组并指定GID

useradd和adduser:

Linux adduser命令
Linux adduser命令用于新增使用者帐号或更新预设的使用者资料。
adduser 与 useradd 指令为同一指令(经由符号连结 symbolic link)。使用权限:系统管理员。
adduser是增加使用者。相对的,也有删除使用者的指令,userdel。语法:userdel [login ID]

1.文件夹的默认权限:drwxr-xr-x 755
//可以使用三位二进制数来表示权限操作
2.文件的默认权限: -rw-r–r-- 644
(记忆:r=4 w=2 x=1 所以:rwx=7 rw-=6 rx=5 r–=4 -wx=3 -w-=2 --x=1) //一般来说无论是写还是执行,前提条件是要先能读!!
(1) 首位标记文件类型:d是目录,-是文件,l是软连接
(2) 后9位切割成3个部分:分别代表用户自身(u),用户所在组成员(g),和其他组的成员(o)所具有的权限(rwx:可读、可写、可执行)
chmod 746 mytest
chmod u+rx,g+rx,o+rx mytest
文件夹里所有的权限拉满:chmod 777 -R test
//一般写成大写的R,使用递归的方式改变权限
3.改变文件/文件夹的归属 chown
(1) chown 用户名:组名 文件名 把文件的归属用户改成对应的“用户名”,归属组改成对应的"组名"
举例:chown root:test test1 把test1文件夹的归属改成root test,其中test代表文件或文件夹的所属组

来自:码农翻身
刘欣
2018/8/26
提问:
刘大。有个问题请教一下,如何系统学习linux下的编程?该看什么样的书比较好?最近在看一些招聘要求,对linux编程有些疑惑 [

2020.8.25课堂笔记(Linux入门、常用命令)相关推荐

  1. Linux入门-常用命令

    学前建议: 个人认为Linux入门首先学会如何安装并成功登录Linux系统 接下来的入门-常用命令完全可以跟着任意的教程敲一下命令,比如怎么复制粘贴文件.创建文件夹.打包.压缩.解压等,自己多实践多理 ...

  2. Linux入门 常用命令大全

    Linux常用命令 一.linux文件和目录命令 二.更改.创建或删除文件夹等 三.查看文件内容: 四.vi/vim 五.用户和用户组 5.1 用户和用户组是什么? 5.2 Linux操作系统用户的特 ...

  3. Linux 入门常用命令(ZT)

    1.Linux进入与退出系统  进入Linux系统: 必须要输入用户的账号,在系统安装过程中可以创建以下两种帐号: 1.root--超级用户帐号(系统管理员),使用这个帐号可以在系统中做任何事情. 2 ...

  4. 嵌入式linux入门-常用命令介绍

    使用芯片手册的时候,会时常的看到芯片中有的位填写的数字有保留,那是为了以后芯片升级和扩展使用的,现在是不使用.如GPF4占用的[9:8] 00 = Input,01 = Output, 10 = EI ...

  5. Linux 入门常用命令

    1.Linux进入与退出系统 进入Linux系统: 必须要输入用户的账号,在系统安装过程中可以创建以下两种帐号: 1.root--超级用户帐号(系统管理员),使用这个帐号可以在系统中做任何事情. 2. ...

  6. linux系统入门命令大全,Linux常用命令5 - Linux 入门常用命令_Linux教程_Linux公社-Linux系统门户网站...

    Linux与用户有关的命令 passwd命令 出于系统安全考虑,Linux系统中的每一个用户除了有其用户名外,还有其对应的用户口令.因此使用useradd命令增加时,还需使用passwd命令为每一位新 ...

  7. 01.学习笔记-linux操作系统常用命令

    命令的类型分为内置命令和外部命令 内部命令又称shell内置命令 外部命令:在文件系统的某个路径下有一个与命令名称相对应的可执行文件 查看命令的类型 type COMMAND 查看命令的历史记录 ha ...

  8. linux入门_linux入门-常用命令的使用

    linux入门-常用命令的使用 对于命令行的接触,最开始是window下的cmd,比如查看电脑ip地址.进入某一个文件夹.下载npm模块等等 window cmd window ipconfig 对于 ...

  9. 《Linux C编程从入门到精通》——1.4 Linux的常用命令

    本节书摘来自异步社区<Linux C编程从入门到精通>一书中的第1章,第1.4节,作者:宋磊 , 程钢著,更多章节内容可以访问云栖社区"异步社区"公众号查看 1.4 L ...

  10. 《Linux C编程从入门到精通》一1.4 Linux的常用命令

    本节书摘来自异步社区<Linux C编程从入门到精通>一书中的第1章,第1.4节,作者 宋磊 , 程钢,更多章节内容可以访问云栖社区"异步社区"公众号查看 1.4 Li ...

最新文章

  1. awk 控制语句(if for do while)
  2. .net中日至框架log4net.dll如何使用
  3. GitHub学习笔记
  4. python3下载文件-在Python 3中从web下载文件?
  5. this.$router.go()和this.$router.push()的区别
  6. 17. 框架标签及其应用实例
  7. sum() over()函数使用
  8. 2012年开发者该做的11件事
  9. 工作 3 年就是高级,这就是差距啊
  10. sqlmap重要参数详解+用法,解决入门难题
  11. ActivityManagerService启动过程
  12. 爬虫框架开发(4)--- 项目实战——新浪滚动新闻资讯实时数据采集
  13. Compose for Desktop (Kolin跨平台编写Mac微信应用)
  14. HTML5标签-按功能分类整理
  15. 外部无法连接部署在linux上的MongoDB
  16. 从零搭建移动H5开发项目实战
  17. 计算机教师格言座右铭,教师教育格言座右铭
  18. c语言1087答案,1087 有多少不同的值(C语言)
  19. python表达式3or5的值为_表达式 3 or 5 的值为________。(5.0分)_学小易找答案
  20. 揭秘:企业做知识管理常见的几种方式!

热门文章

  1. 今日恐慌与贪婪指数为24 恐慌程度有所缓解
  2. Help library 安装arcobjects for .NET异常问题
  3. activated 使用
  4. LLC谐振变换器学习二
  5. 微信小程序ios地图标记点无法点击第二次 markertap
  6. 专科毕业五年,曲线救国进腾讯
  7. 用Taichi(python)实现星际穿越特效
  8. mysql统计出每个姓氏的人数_Python 之 MySql 每日一练 130——同名同性学生名单,并统计人数...
  9. 读书记之《UnixLinux大学教程》
  10. 学习笔记-测试利器Mocha