经过一个星期学习,Linux终于入门了,在这里小记下~

=====================分割线=============================

Ubuntu常用命令:
ctrl+shift+= 放大控制台
ctrl+- 缩小控制台
--操作目录的几种命令
ls:查看目录下所有文件
pwd:查看所在目录
cd:切换目录
mkdir 文件夹名:创建文件夹
touch 文件名:创建文件名
rm 文件名:删除文件
rm -r 目录名:删除目录
clear:清屏
--命令规范
command [-options] parameter
~command:命令
~options:选项,可填可不填
~parameter:参数,可以是零个或多个
例如删除目录命令: rm -r 目录名

--查询终端命令帮助
command --help
man command
例如: mkdir --help
针对man command的几个命令:f是像后滚屏,b是向后滚屏, 空格是是向后滚屏,enter是滚动一行。

--常用快捷键
tab键:可以自动补齐命令
ctrl+c:结束当前命令输入

touch .11.txt : 创建隐藏文件
ls -a:查看隐藏文件
ls -l:查看文件详细信息,包括大小,创建时间
ls -l -h:查看文件详细信息,和ls -l的区别是显示的更直观
*:通配符,*代表所有省略字符。 比如: 1* 就会把开头为1的文件和文件夹都查询出来。
?:通配符,?代表一个省略字符。比如: 2?.txt 就会把2开头并且省略一位的文件查询出来,比如 21.txt。
[]:匹配括号中指定内容通配符。比如:[1,2]23.txt 会把1和2开头的 123.txt和 223.txt文件匹配到。 另外还可以[1-3]23.txt 会把1到3开头的匹配到。

cd . :访问当前目录
cd ..:访问上级目录
cd ~ :访问根目录
cd -:目录直接来回切换

相对路径:相对于当前目录的路径,路径前面没有/和~
绝对路径:路径是写死的,路径前面有 /和~

touch 文件名:对于已经存在的文件名会修改文件的创建日期,没有的话会创建
mkdir -p 文件名/文件名...:连续创建多个文件
rm -f 文件名:强制删除一个文件

tree:显示当前文件下面的文件结构
tree 目录名:显示指定目录下的文件结构
tree -d:只显示目录结构不显示文件

cp 源文件 目标文件:复制文件,比如 cp ~/Test/1.txt ./1.txt,这样就将Test目录下的1.txt复制到了当前文件夹下。
cp -i 源文件 目标文件:复制文件,如果文件要覆盖的话会提示是否覆盖,我们输入y或者n进行选择
cp -r 源文件 目标文件:复制目录
mv 源文件 目标文件:剪切文件,如果文件已经存在则视为修改文件名称
mv -i 源文件 目标文件:剪切文件,同时校验是否已经存在

cat 文件名:查看文件内容 (将文件内容全部显示)
cat -b 文件名:显示行号,只计算不为空的行
cat -n 文件名:显示行号,显示所有行号包括空行
more 文件名:查看文件内容(显示一页内容,按空格或者f查看下一页,按b查看上一页,按enter查看下一行,按q结束查看)

grep 关键字 源文件:在文件中搜索
grep -n 关键字 源文件:在文件中搜索并显示指定行号
grep -v 关键字 源文件:显示不包含关键字的行
grep -i 关键字 源文件:搜素关键字并忽略大小写
grep ^关键字 源文件:搜索以关键字开头的行
grep 关键字$ 源文件:搜索以关键字结尾的行

echo 文字:在终端输出文字
文字 > 文件名: 将文字保存在文件中,这个会发生覆盖现象。 比如 echo hello > a.txt 这样就创建a.txt并保存了hello内容。
文字 >>文件名: 将文字追加到文件中,这个不会发生覆盖。 比如 echo world >>a.txt 这样就把world追加到了a.txt文件下

命令 | grep 关键字 :管道,把第一个命令的输出通过管道传递给后面的命令,当作第二个命令的搜索条件
命令 | more :管道,把第一个命令的输入,当作第二个命令的显示

shutdown -r now:立即重启系统,如果不输入now的话默认一分钟关闭
shutdown now:立即关闭系统,如果不输入now的话默认一分钟关闭
shutdown +5:5分钟后关闭系统
shutdown 8:11:8点11关闭系统
sudo shutdown -r:通过远程软件重启服务器

ifconfig:查看网卡信息
ping 网址:查看网址是不是通

-- 控制台连接shh
ssh [-p port] 用户名@远程地址:使用ssh连接远程服务器,ssh默认端口是22,如果没有任何修改的话-p port可以去掉
exit:退出用户登陆

--在控制台直接操作传输文件
scp -P 端口号 本地文件 用户名@远程地址:远程目录 :将本地文件拷贝到远程,注意这里的P是大写
scp -P 端口号 用户名@远程地址:远程目录 本地目录:将远程目录拷贝到本地目录。
scp -r 本地文件 用户名@远程地址:远程目录 :将本地文件拷贝到远程目录

使用ftp上传文件注意事项:使用filezilla软件时端口号要指定为21 , 使用FlashFXP 5端口号指定为22

--设置免密操作
切换到.ssh目录下,输入命令 ssh-keygen:配置公钥
ssh-copy-id -p 端口号 登录名@远程地址 :将配置的公钥上传到服务器
这样以后操作就不需要输入密码了。

使用ls -l显示的内容依次是:
drwxr-xr-x 3 shuai7boy shuai7boy 4096 Jul 3 00:11 Desktop
-rw-r--r-- 1 shuai7boy shuai7boy 8980 Jun 8 02:35 examples.desktop
-代表文件 d表示目录
后面wxr什么的三个一组,第一组代表当前拥有者的权限,第二组代表当前组的权限,第三组代表其它人的权限(r表示读,w表示写,x表示执行)
后面数字表示硬连接数,及有多少种方式可以访问该文件,一般文件只有一种,文件夹多种(比如直接通过cd 绝对路径访问,还可以通过cd .和cd ..访问)
再后面依次对应拥有着名称,组名(shuai7boy shuai7boy)
再后面是大小(4096)
再后面是时间(Jul 3 00:11)
再后面是文件名(Desktop)

chmod +/-[r,w,x] 文件名:对文件增加可读,可写或者可执行权限。比如 chmode +r 111.txt 将111.txt加上可读权限
./111.py :执行一个文件,注意前面加上./ 这种格式
chmod -R 752 文件名:递归给拥有用户,用户组,其它用户设置文件可读,可写或者可执行权限。 4代表r,2代表w,1代表x。 然后数字组合表示不同权限。

sudo ...:使用超级管理员权限来执行命令,下面的一些用户操作命令都要加sudo

groupadd 组名:添加组
groupdel 组名:删除组
cat /etc/group:查看组信息
chgrp 组名 文件名:修改文件组信息
chown 用户名 文件名:修改文件所有者信息

--新建用户
uaseradd -m -g 组名 新建用户名:新建用户,-m表示给新建用户创建家目录,-g给用户指定组名
passwd 用户名:给用户设置密码
--删除用户
userdel -r 用户名:删除用户

--查看用户信息
id 用户名:查看用户信息,如果只写id查询的是当前用户的信息
例如:id shuai7boy ->
uid=1000(shuai7boy) gid=1000(shuai7boy) groups=1000(shuai7boy),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),113(lpadmin),128(sambashare)
uid表示用户id,gid表示组id,groups表示所在组

查看具体用户信息使用cat /ect/passwd |grep 用户名
例如: cat /ect/passwd |grep shuai7boy
shuai7boy:x:1000:1000:Ubuntu,,,:/home/shuai7boy:/bin/bash //x表示有密码并且加锁了,前面1000表示用户id,后面1000表示组id
查看具体组信息使用:cat /etc/group |grep 用户名
例如:cat /etc/group |grep shuai7boy

who:查看所有登陆的用户
whoami:查看当前登陆的用户

主组:在创建用户的时候就添加的组
附加组:附加的组权限
usermod -G 组名 用户名:修改附加组
usermod -g 组名 用户名:修改主组
usermod -s /bin/bash 用户名:添加base

which 命令:查询命令所在文件
su - 用户名:切换用户,并且切换主目录。su - 后面不加用户名,这样会切换到系统默认的用户,比如root。退出切换用exit。

date:查看系统时间
cal:查看日历

df -h:查看磁盘空间使用情况
du -h[文件名]:查看当前目录空间使用情况

--进程相关
ps aux:显示所有进程
ps : 显示当前控制端进行
ps a :显示所有控制端进行进程
(a显示终端所有进程,u表示显示进程的详细信息。x显示没有控制端的进程,比如后台进程)

top:实时显示排序后的cpu,内存占用情况。按q 就可以结束显示
kill [-9] 进程代号:终止指定的进程,-9是强行停止进程

find [文件路径] -name "*.txt":所有以txt结尾的文件,包括子目录

ln -s 源文件绝对路径 快捷方式连接名称:创建软连接,相当于windows里面的快捷方式

--压缩解压缩
gzip操作
tar -cvf 打包文件名称.tar 被打包文件路径//打包操作 打包多个文件的话,后面的文件路径用空格区分出来
tar -xvf 打包文件名称.tar //解包操作
tar -zcvf 压缩文件名称.tar.gz 被压缩文件路径//压缩文件
tar -zxvf 压缩文件名称.tar.gz 被压缩文件路径//解压文件

bzip2(two)操作
tar -jcvf 打包文件名称.tar.bz2 被压缩文件路径//压缩文件
tar -jxvf 压缩文件名称.tar.bz2 被压缩文件路径 -C 解压路径//指定解压路径

--安装卸载软件
sudo apt install 软件名:软件名
sudo apt remove 软件名:软件名
sudo apt update 软件名:软件名

--编辑文件,操作文本部分
vi 文件名:打开一个文件,如果文件不存在则会新建一个
vi 文件名 +行号:打开一个文件,并跳转到指定行号。如果+后面不加行号,会自动跳转到末尾行。

命令模式:使用vi进入命令模式的主入口,在命令模式下可以使用跳转指定行,翻页等操作
末行模式:包括文件的保存和退出操作,在控制台输入:wq就退出了,输入:w是保存,输入:q时退出,输入q!强行退出。按esc时返回命令模式
编辑模式:在命令模式下输入i对文件进行编辑,按esc返回命令模式
末行模式命令:
q!:强行退出
w:保存
q:退出
wq:保存退出
x:保存退出

光标移动命令:h左,j下,k上,l右
w:向后移动一个单词,w指word
b:向前移动一个单子,b指back
0:移动到行首
^:移动到(不包括空行的)行首
$:移动到行尾

gg:移动到文章开头
G:移动到文章结尾
数字 gg/G:移动到指定行
:数字:移动到指定行
ctrl+f:下一页
ctrl+b:上一页
H:上部(H值head)
M:中部(M指middle)
L:下部(L指low)
{:跳转上一段落
}: 跳转下一段落
%:括号间来回切换
m a~z:添加标记,比如添加标记a, ma 'a 在别处'a就会找到a

选中文本(可视模式)
v:从文本出按方向键选中文本
V:选中所在行,按方向键会正行选择
ctrl+v:垂直方向选择文本。

~撤销和恢复文本
u:撤销上一步操作 ,u指的时undo
ctrl+r:取消撤销,r指的redo

~删除命令
x:删除选中的文本,也相当于剪切一段文本
d(移动命令):结合移动命令来删除文本,比如 d w 这样就删除了整个单词,5 d 这样会删除5行
dd:删除所在行
D:删除所在位置到行尾

~复制,黏贴
y(移动命令):复制,英文是copy
yy:复制一行,nyy复制多行
p:黏贴
外部内容剪切:进入到编辑模式,然后邮件粘贴

~替换命令
r:替换一个字符,按小字母后,然后输入替换后的字母
R:替换一个单词,按大写字母R后,输入替换的内容

~缩排和重复执行
>>:向右缩进
<<:向左缩进
.:重复上次命令
注意:选中多行后使用缩进,按一次>或者<就行

~查找内容
/内容:查找内容,按enter键位进行查找,n向下查找,N向上查找
*:查找光标所在内容,向下查找
#:查找光标所在内容,向上查找

~查找和替换
:%s/旧文本/新文本/g :一次性替换文件中所有出现的旧文本
:s/旧文本/新文本/g :先选中,然后替换选中的文本
:%s/旧文本/新文本/gc:确认替换,c指的confirm,选项一次是确认替换,不替换,全部替换,退出替换

~进入编辑命令的六种方式
I:在行首进入编辑
A:在行尾进入编辑
O:在行上面插入一个空行进入编辑
o:在行下面插入一个空行进入编辑

~重复输入内容
1.输入数字3
2.按下i进入编辑命令
3.输入*及重复内容
4.按esc退出编辑,这时会自动渲染三个*
~给多行内容添加注释
1.在要注释的行按0进入到行首
2.按ctrl+v进入到可视块模式,按j向下选择
3.按I进入编辑模式,输入#
4.按esc上面输入的#就会加入的每行前面

~末尾行命令
:w 文件名//将文件另存为,当前正在编辑的文件不会切换
:n 文件名//新建文件
:e .//编辑当前目录下的文件,如果知道名称的话,可以直接:e 名称来进行编辑

~分屏命令
:sp 文件名:横向分屏,s指split
:vsp 文件名:竖直分屏,v指vertical

以下命令先按ctrl+w然后才能操作
w:切换到下一个分屏
r:r指互换分屏
c:关闭分屏

=====================分割线=============================

下面是彩蛋时间(¬◡¬)✧
(´•༝•`)显示指定名称
控制台输入: banner shuai7boy

(´•༝•`)显示一双眼镜
控制台输入: xeyes

(´•༝•`)显示“数字雨”
首先安装: sudo apt-get update; sudo apt-get install cmatrix
然后输入:cmatrix -C green

Linux学习网址推荐:
https://www.runoob.com/linux/linux-tutorial.html

7天入门Linux的更多相关文章

  1. 入门Linux

    45分钟带你入门Linux(附:笔者在工作室开讨论班录制的视频讲解)   第一部分    熟悉Linux基本操作 一.初识Linux 1.Linux特点 ◊  开放性 ◊  多用户 ◊  多任务 ◊  ...

  2. Ruby入门--Linux/Windows下的安装、代码开发及Rails实战

    Ruby入门--Linux/Windows下的安装.代码开发及Rails实战 http://www.linuxidc.com/Linux/2014-04/100242.htm Ubuntu 13.04 ...

  3. 版本控制工具Git工具快速入门-Linux篇

    版本控制工具Git工具快速入门-Linux篇 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.版本管理系统的介绍 1>.版本管理系统的特点 1.1>.自动生成备份: ...

  4. MySQL入门——Linux下安装后的配置文件

    MySQL入门——Linux下安装后的配置文件 摘要:本文主要了解了在Linux环境下安装MySQL后的配置文件的位置,以及如何创建配置文件. 查看配置文件的加载顺序 找到mysqld的路径 通过wh ...

  5. Linux从入门到放弃、零基础入门Linux(第四篇):在虚拟机vmware中安装centos7.7

    如果是新手,建议安装带图形化界面的centos,这里以安装centos7.7的64位为例 一.下载系统镜像 镜像文件下载链接https://wiki.centos.org/Download 阿里云官网 ...

  6. Linux从入门到放弃、零基础入门Linux(第三篇):在虚拟机vmware中安装linux(二)超详细手把手教你安装centos6分步图解

    一.继续在vmware中安装centos6.9 本次安装是进行最小化安装,即没有图形化界面的安装,如果是新手,建议安装带图形化界面的centos, 具体参考Linux从入门到放弃.零基础入门Linux ...

  7. RHEL7-RHCE培训系列教程,让您零基础入门Linux运维

    本教程是旨在帮助那些刚入门IT行业或计划从事IT行业的初学者(包括开发人员和运维人员,以及想要在Linux系统维护上提升自己的网络管理员),0基础入门Linux运维,完整学习完成本系列课程相当于培训机 ...

  8. 零基础程序员入门Linux系统 !如何快速恢复系统?

    新手在学习Linux系统的时候,难免会遇到命令输错,或系统出错的难题.那么如何快速解决呢?本文就先给你一个后悔药,让你快速备份并恢复Linux系统.本文将以Ubuntu为例,在这之前,你需要一台服务器 ...

  9. 一文入门Linux下gdb调试(二)

    作者:良知犹存 转载授权以及围观:欢迎添加微信号:Conscience_Remains 总述     今天我们介绍一下core dump文件,Core dump叫做核心转储,它是进程运行时在突然崩溃的 ...

  10. 快速入门linux系统的iptables防火墙 1 本机与外界的基本通信管理

    概述 iptables是一种运行在linux下的防火墙组件,下面的介绍可以快速的学习iptables的入门使用. 特点(重要) 它的工作逻辑分为 链.表.规则三层结构. 数据包通过的时候,在对应表中, ...

随机推荐

  1. JS数组操作:去重,交集,并集,差集

    原文:JS数组操作:去重,交集,并集,差集 1. 数组去重 方法一: function unique(arr) { //定义常量 res,值为一个Map对象实例 const res = new Map ...

  2. WPF窗体隐藏鼠标光标的方法

    原文:WPF窗体隐藏鼠标光标的方法 要引用 System.Windows.Input;   Mouse.OverrideCursor = Cursors.None; 去掉 Override 则使用: ...

  3. WPF查找父元素子元素

    原文:WPF查找父元素子元素 /// <summary>        /// WPF中查找元素的父元素        /// </summary>        /// &l ...

  4. WPF ListBox的内容属性Items

    <Window x:Class="XamlTest.Window3"        xmlns="http://schemas.microsoft.com/winf ...

  5. Lexer的设计--下(5)

    一个礼拜之后我终于从成都回来了, 从今天开始更新会恢复... 一点小的改进 写lex()的时候距离我上一次写已经一个礼拜了, 所以我回顾了一下之前的代码, 发现还是有瑕疵. 比如考虑到一个较短的程序, ...

  6. jquery动态操作元素

    <!DOCTYPE html><html lang="en" xmlns="http://www.w3.org/1999/xhtml"> ...

  7. HTTP协议解析(格式和举例十分清楚)

    掌握HTTP虽然不是必须的,但是如果你知道它的工作原理,那么在学习JSP开发中的某些知识就可以易如反掌了. 一,HTTP协议详解之URL篇 http(超文本传输协议)是一个基于请求与响应模式的.无状态 ...

  8. Rails 最佳实践

    在你业务简单的时候,让你简简单单用 ActiveRecord 模型. 复杂的时候,你可以用官方推荐的 Concerns. 更复杂的时候,可以通过 gem 和 API 来拆分. 极端复杂的时候,由于 R ...

  9. Elasticsearch 6.1.2 搭建及使用教程一

    安装包: es6.1.2 es-head 开发环境:jdk 1.8 搭建流程一一说明: 将下载好的es解压后找到如下图文件 打开后如下图所示配置(已添加详细注释): # 集群的名字 cluster.n ...

  10. Codility---FrogRiverOne

    Task description A small frog wants to get to the other side of a river. The frog is initially locat ...