# coding:utf-8 '''基础奠定''' '''基础学习linux''' '''学习需要持之以恒!加油!''' # /根目录 '''文件大小都以 Byte 字节 保存 ,1K = 1024B, 1024B = 2**10B ''' ''' 绝对路径 / 表示相对当前目录所在的目录位置 相对路径 没有应用/的路径 表示从根目录/家目录开始的具体目录位置 ''' '''小技巧: ctrl + shift + + 放大终端窗口的字体显示 ctrl + - 缩小终端窗口的字体显示 再敲出 文件/目录/命令 的前几个字母后敲 tab 键 补全命令 ctrl + c 停止当前命令输入,直接开启新的一行进行输入 ''' '''终端命令格式 commend [-options] [parameter] [] 代表可选 commend 命令名:相应功能的英文单词或者单词缩写 [-options] 选项:可用来对命令进行控制,也可以省略 parameter 传给命令的参数,可以是零个,一个,或者多个 ''' '''两种查看帮助 commend --help man commend ''' '''linux下文件和目录的特点 ·Linux文件或者目录名称最长可以由256个字符 ·以 . 开头的文件为隐藏文件,需要使用-a 参数才能显示 命令示例:ls -a 解释 -a all 所有文件 · .代表当前目录 · ..表示上级目录 ''' '''linux常用的终端命令: ls list 查看当前文件夹下的内容 配合使用 ls -alh 参数 -a 显示指定目录下的全部文件,包括隐藏文件 参数 -l 以列表方式显示文件的详细信息 参数 -h 配合-l显示文件大小 ls 配合通配符使用:(ex为示例) * 代表任意个数的字符 ls ex* ,ls *ex.txt。如果为ls *ex 则需表明文件类型,若未表明文件类型会显示没有那个文件。 ?代表一个字符,至少是一个 ls ?e?.txt , ls e?.txt . [] 表是可以匹配字符组中任一一个 [abc]匹配a,b,c的任意一个 [a-f]匹配a到f范围内的任意一个字符 pwd print work directory 查看当前所有文件夹 cd /目录 change directory 切换文件夹 命令 cd 切换到当前用户的主目录(/home/用户目录) 命令 cd ~ 切换到当前用户的主目录(/home/用户目录) 命令 cd . 保持当前目录不变 cd .. 切换到上一目录 cd - 来回切换工作目录 touch 文件名 touch 如果文件不存在,新建文件 ·如果文件不存在,则会建立一个空白的文件 ·如果文件存在,则会修改文件末次修改文件时间 mkdir 目录名 make directory 创建目录 -p 可以递归创建目录 !!!新建目录的名称不能与当前目录中已有的目录或文件同名 rm 文件名 remove 删除指定的文件名 -f 强制删除所选择的文件,删除不提示 -r 递归地删除目录下的内容,删除文件夹时必须有此参数 re -r ex , rm -r * 删除所有 !!!删除的内容不可恢复 clear clear 清屏 tree[目录名] tree 以树状显示所有文件 -d 只显示目录 tree -d cp copy 拷贝文件 cp 目标文件 副目标文件 cp ~/ex/111.txt ./111.txt ~表示根目录下 , .表示当前目标路径 命令 -i 覆盖文件前提示 命令 -r 若给出的源文件时目录文件,则cp,将递归复制该目录下的所有子目录和文件,目标文件必须为一个目录名 mv move 移动文件 mv 源文件 目标文件 mv 目标文件 目标文件夹或者目录 !!!可以移动文件,也可以给文件或者目录重命名 命令 -i 覆盖文件前提示 重命名 mv 文件夹/文件 名字 cat 文件名 concatenate 查看文件内容,常见文件,文件合并,追加文件内容等功能 cat 会一次性显示所有的内容,适合查看内容较少的文本文件 cat ex.txt 查看文件内容 命令 -b 对非空输出行编号 命令 -n 对输出的所有行编号 -Linux中 nl 的命令和 cat -b 的效果相同 more 文件名 more 分屏显示文件内容 grep 搜索文本文件名 grep 搜索文本文件内容 grep允许对文本进行模式查找,所谓模式查找,又称为正则表达式, 命令 -n 显示匹配行及行号 命令 -v 显示不包含匹配文本的所有行(相当于求反,去不被选择的一面) 命令 -i 忽略大小写 常用的查找方式: ^a 行首,搜索以a开头的行 z$ 行尾,搜索以z结尾的行 shutdown 关机/重新启动 shutdown 选项 时间 若只输入命令 shutdown 则默认重新启动时间为1分钟 命令 -r 重新启动 shutdown -c 取消关机 reboot 重启 !!! ifconfig configure a network interface 查看/配置计算机当前的配置信息 ifconfig 查看当前网卡配置 查阅当前计算机ip地址 ifconfig | grep inet ping ip地址 ping 检测到目标ip地址的连接是否正常 ''' '''方法 echo 文字内容 echo 会在终端中显示参数指定的文字,通常会和重定向联合使用 echo 'some_file' > file 若没有文件,则会创建文件 重定向>和>> linux允许将命令执行结果重定向到一个文件 将本应该显示终端的内容输出/追加到指定文件中去 · > 表示输出,会覆盖原有内容 · >> 表示追加,在原本基础上添加内容到底端 | 管道 linux允许将一个命令的输出 可以通过管道 作为 另一个命令的输入 可以理解为 : 写 | 读 ·more 分屏显示 ·grep 查询 ''' ''' SSH(secure shell 协议连接1到计算机的软件程序) ssh 用户名@ip secure shell 关机/重启 scp用户名@ip:文件名或路径 用户名@ip:文件名或路径 secure copy 远程复制文件 ssh [-p port] user@remote user 远程机上的用户名,如果不指定的话就认为当前用户 port 是 ssh server 监听的端口,如果不指定,默认端口号为22 remote 是远程机器的地址,可以是ip/域名 scp 掌握 scp 就是shell copy ,是一个在linux下用来进行远程拷贝文件的命令 地址格式与ssh 基本相同,需要注意,scp在指定端口时 -P 是大写的 scp -P port ex.py user@ip:home/desktop/ex.py 命令 -r 复制文件夹 命令 -P 指定端口 ''' '''ssh 相关知识 配置公匙 执行 ssh-keygen 即可生成ssh要是,后回车进行下一步 上传公匙到服务器: 执行 ssh-copy-id -p port user@remote ,即上传公匙到服务器 配置别名: ~/.ssh/config Host mys_server HostName ip地址 User ith Port 22 ''' '''用户权限 r-w-x 可读,可写,执行 在 linux 下 ls-l 显示的信息中 权限:d表示目录 硬连接数:通俗的讲,就是有多少种方式,可以连接访问到当前目录/文件 拥有者:家目录下文件/目录 的拥有者通常都是当前用户 组:方便权限管理 大小 时间 名称及类型/ 目录````````硬连接数``用户`````组`````字节```` -rwx-w-r-- 1 hadoop Hadoop d-w-rw-rw- 2 hadoop Hadoop 其中 - / d 为目录 权限为三个一组,意味 管理员-组-其他用户 chmod 修改用户/组对文件/目录的权限 chmod +/- rwx 用户/组/目录/文件 添加权限 x 执行文件时格式 ./filename.py/.c/.java 超级用户 root root账号通常用来系统的维护和管理,对操作系统的所有资源所有权限 sudo su 是 substitute user 的缩写,表试使用另外一个身份 sudo 命令用来以其他身份来执行命令,预设的身份为root 用户使用 sudo 时,必须输入密码,之后有5分钟的有效期限,超过期限需要重新输入密码执行 ·---若为授权使用sudo指令,则会有使用记录发送至管理员信息 组的管理 创建组/删除组的终端命令都需要通过 sudo 执行 groupadd 组名 添加组 sudo groupadd dev groupdel 组名 删除组 sudo groupdel dev cat /etc/group 确认组的信息 chgrp -R 组名 文件/目录名 修改文件/目录的所属组 ···组的信息保存在 /etc/group 文件中 ··· /etc 目录专门用来保护 系统配置信息 目录 ''' ''' 创建用户/设置密码/删除用户 useradd useradd -m -g 组 新建用户名 添加新用户 -m 自动建立用户家目录 -g 指定用户所在组 passwd 用户名 设置用户密码 userdef -f 用户名 删除用户 -f 会自动删除用户家目录 cat /etc/passwd | grep 用户名 usermod 可以用来设置用户的主键/附加组和登录shell命令格式如下 主键: 附加键: #修改用户的主键 usermod -g 组 用户名 #修改用户的附加组 usermod -G 组 用户名 #修改用户登录 shell usermod -s /bin/bash 注意:创建用户时,如果忘记添加-m选项指定新用户的家目录--最简单的方法就是删除用户,重新建立 创建用户时,默认会创建一个和用户同名的组名 用户信息保存在/etc/passwd文件中 id 查看列表 who 查看登录用户 whoami 查看当前用户 ''' '''bin 存放可执行文件 sbin 存放系统执行文件 ''' '''su -用户名 切换用户,并且切换目录 -可以切换到用户目录,否则保持位置不变 exit 退出当前登录账户 ''' '''修改文件权限 chown 修改拥有者 chown 用户拥有者 文件名|目录名 chgrp 修改组 chgrp -R 组名 文件名|目录名 chmod 修改权限 chmod -R 755 文件名 | 目录名 755 拥有者 组 其他 r w x r w x r w x 4 2 1 4 2 1 4 2 1 方便给定权限,在使用chmod -R +/-权限rwx 文件名|目录名 方便给定不同角色的权限给定。 ''' ''' 系统信息相关命令 # 时间和日期 date 查看系统时间 cal calendar 查看日历,-y 选项可以查看一年的日历 # 磁盘和目录空间 df df -h disk free 显示磁盘剩余的空间 du du -h [目录名] disk usage 显示目录下的文件大小 -h以人性化的方式显示文件大小 # 进程信息 ps ps aus process status 查看进程的详细状况 a 显示终端上所有的进程,包括其他用户的进程 u 显示进程的详细信息 s 显示没有控制终端的进程 top 动态显示运行中的程序并且排序 kill kill [-9] 进程代号 终止指定代号的进程,[-9]表示强制终止 在使用kill终止进程时,只可终止当前用户下的进程,不可终止root下的进程,防止系统奔溃。 ''' ''' 查找文件 find find [path] -name "*.py" 软连接 ln ln -s 被链接的源文件 链接文件 建立文件的软连接,用通俗的方式讲类似windows下的快捷键 建立软链接时,以绝对路径创建。若以相对路径创建的软链接,若移动工作目录,则无法正常工作 若建立连接时没有使用 -s 则创建的链接为硬链接 硬链接链接源文件删除不会对硬链接产生影响 打包和压缩 tar #打包文件 tar -cvf 打包文件.tar 被打包文件/路径 #解包文件 tar -xvf 打包文件.tar c 生成档案文件,创建打包文件 x 解开档案文件 v 列出归解档的详细过程,显示进度 f 指定档案文件名称,f后面一定时.tar 文件,所以必须放到最后 gzip 压缩/解压缩 #压缩文件 tar -zcvf 打包文件.tar.gz 被解压的文件/路径 #解压缩文件 tar -zxvf 打包文件.tar.gz #解压缩到指定路径 tar -zxvf 打包文件.tar.gz -C 目标路径 -C 解压缩到指定目录,要解压的目录必须存在 bzip2 #压缩文件 tar -jcvf 打包文件.tar.bz2 被压缩的文件/路径 # 解压缩文件 tar -jxvf 打包文件.tar.bz2 软件安装 apt-get sudo apt install 软件包 sudo apt remove 软件名 sudo apt upgrade ''' '''vi 和 vim # vi 语法 vi 文件名 打开文件并且定位行 vi 文件名+行数 vi 三种基本工作方式 1.命令模式 2.末行模式 通常执行保存,退出 在命令模式下输入 : w -write q -quit q! 强行退出 wq 保存并退出 x 保存并退出 3.编辑模式 在命令模式下输入 i -insert 移动命令 h 向左 j 向右 k 向上 l 向下 w 按单词跳转 b 向前移动一个单词 0 行首 $ 行尾 ^ 行首 行数移动 gg 文件顶部 G 文件尾部 数字gg 跳转 数字G :数字 移动到该行数 屏幕移动 ctrl + b 向上翻页 ctrl + f 向下翻页 H 屏幕顶部 M 屏幕中间 L 屏幕底部 程序移动 段落移动 { 上一段 } 下一段 括号切换 % 括号匹配及切换 标记 对于某一些程序段稍后处理 mx mark 添加标记 x ,x 是 a-z 或者 A - Z 之间的任意一个字母 'x 直接回到标记位置 选中文本(可视化模式) v 可视模式 V 可视行模式 CTRL + v 可是块模式 在可视模式下 ggVG 选中全部文本 撤销和恢复撤销 u undo 撤销命令 ctrl+e redo 恢复撤销命令 删除文本 x cut 删除光标所在字符,或者选中文字 d(移动命令) delete 删除移动命令对应的内容 dd 删除光标所在的行,可以使用ndd复制多行 D 删除至末尾 删除命令和移动命令连用,常见组合命令: dw 从光标位置删除到单词尾部 d0 从光标位置删除到起始位置 d} 从光标位置删除到段落尾部 ndd 从光标位置向下连续删除n行 d代码行G 从光标位置所在行删除到指定代码行之间的所有代码 d'a 从光标位置删除到标记所在所有代码 复制,粘贴 y(移动命令) 复制 yy 复制一行 nyy 复制n行 p 粘贴 替换 r 替换当前字符 R 替换当前行光标后的字符 缩排和重复执行 >> 向右增加缩进 << 向左增加缩进 . 重复复上次命令 在可视模式下,缩排命令通常只使用一个 < 或 > 查找 /str 查找str 查找到之后: n next 查找下一个str 出现的位置 N 查找上一个 单词快速匹配 * 向后查找但前光标所在单词 # 向前查找当前当前光标所在单词 查找并替换 :%s///g 1.全局替换 :%s/旧文本/新文本/g 2.可视区域范围替换 可选择要替换文字的范围 :s/旧文本/新文本/g 3.确认替换 :%s/旧文本/新文本/gc 是否替换 回复: y 替换 n 不替换 a 替换所有 q 退出替换 l 替换最后一个 ^E 向下滚屏 ^y 向上滚屏 插入命令: 在命令模式输入 i i 在当前字符前插入文本 I 在行首插入文本 a 在当前字符后添加文本 A 在行末添加文本 o 在当前行后插入一空行 O 在当前行首查如一个空行 使用末行命令: :e edit 会打开默认浏览器 :n 新建文件 :w 另存为,但是任然编辑当前文件,并且不会切换文件 '''
linux基础学习
最新推荐文章于 2024-09-15 22:47:38 发布