当前用户下,更改的是密码:
usermod -l new_username old_username
学习的网站:
鸟哥的私房菜
Linux常用基础命令_Linux教程_Linux公社-Linux系统门户网站
压缩文件,解压文件
sudo tar zcvf work.tar.gz work/
sudo tar jcvf work.tar.bz2 work/
sudo tar cvf work.tar work
记住了,要加sudo
顺便也写一下解压缩吧
tar xzvf work.tar.gz
tar xjvf work.tar.bz2
tar xvf work.tar
开始进入Linux,可以安装vim,vim向上兼容vi
1、一些按键的说明:
让ls时有颜色
Ctrl + c 中断目前程序
q 退出按钮
:q! 强制退出
Tab 命令与档案补全
2、错误说明:
command not found ==>指令找不到啦
3、安装命令:sudo apt install 文件/软件名称
4、建目录/文件夹命令
(1)建一个目录/文件夹:mkdir 目录名称;
(2)建多个目录/文件夹:mkdir 目录名称 目录名称 目录名称;(后跟目录
(2)级联创建app2以及test文件夹:mkdir -p app2/test名称即可)
5、删除目录/文件夹命令
(1)删除指定目录/文件夹:rm -rf 目录名称;
(2)删除当前目录所有目录/文件夹:find . -exec rm -rf {} ;
6、查看Linux虚拟机ip:ifconfig
注:ip是 inet addr:....
7、安装计算器:sudo apt install bc
注:打开计算器:bc 退出计算器:quit
8、显示日期:date
注:显示日期:date +%Y/%m/%d 显示时间:date +%H:%M
9、显示日历:cal
注:指定年份和月份:cal 月 年 指定年份:cal 年
10、目录操作
(1)cd ./da 切换到当前目录的da文件夹
(2)cd .. 切换到上一层目录
(3)cd / 切换到系统根目录
(4)cd ~ 切换到用户主目录
(5)cd - 切换到上一个所在目录
(6)pwd 显示当前所在目录的绝对路径
11、查看文件列表
(1)ls /path/显示该目录所有文件或文件夹名(还不理解)
(2)ls -a 显示所有文件或文件夹名称(包括隐藏的)
(3)ls -l 按列表显示所有文件或文件夹,缩写成ll
(4)ll -h 友好的显示文件大小(显示成K,MB,GB)(还不理解)
12、文件操作
(1)创建文件:
a:vi方法:例如 创建文件file.txt 即 vi file.txt ,键盘敲i,可以进入编辑模式,输入完内容后按 ESC 键,键盘输入 :wq 可以保存并退出
b:touch:touch 文件名 例如 touch file.txt
(2)rm 文件(夹)名 例如a.txt,删除a.txt文件,删除需要用户确认,y/n
(3)rm -f 文件(夹)名 例如a.txt,不询问,直接删除a.txt文件
(4)rm -r 文件(夹)名 例如a,递归删除a文件夹(无论是否有内容)
(5)rm -rf 文件(夹)名 不询问递归删除a文件夹(慎用)
(6)rm -rf 删除当前目录下所有内容(最好别用)
(7)rm -rf / no 作 no die(Linux系统就玩完了)
(8)rm -rf 文件(夹)名 文件(夹)名 删除多个 文件(夹)
(9)cp a.txt b.txt 将a.txt复制为b.txt文件
(10)cp a.txt ../ 将a.txt文件复制到上一层目录中
(11)mv a.txt ../ 将a.txt文件移动到上一层目录中
(12)mv a.txt b.txt 将a.txt文件重命名为b.txt
(13)touch a.txt 创建一个空的a.txt文件
(14)echo "good good study" > a.txt 把">"左边的输出内容放到右边的文件里去,如果存在就覆盖,如果不存在就创建 , vi a.txt 用文本编辑器编辑一个文件,如果不存在就创建
13、文件打包归档和压缩
(1)tar -cvf 压缩名.tar 文件夹名 压缩单个文件夹
(2)tar -cvf 压缩名.tar 文件夹名 文件夹名 压缩多个文件夹
(3)tar -xvf 压缩名.tar 解包到当前目录
(4)gzip file.tar 压缩文件或文件夹,file.tar就是需要压缩的文件的名字(路径),eg:gzip a.txt 得到 a.txt.gz
(5)gzip –d file.tar.gz 解压文件或文件夹,file.tar.gz就是压缩文件的名字(路径),eg:gzip -d a.txt.gz 得到a.txt
(6)tar -czvf file.tar.gz dir file 将dir文件夹和file文件在当前目录下打包并压缩成file.tar.gz
(7)tar -xzvf file.tar.gz 解压并解包到当前目录下
(8)tar -xzvf file.tar.gz -C /home/dijia478/ 解压并解包到/home/dijia478/目录下
常用参数:
-c:创建一个新tar文件
-v:显示运行过程的信息
-f:指定文件名
-z:调用gzip压缩命令进行压缩
-t:查看压缩文件的内容
-x:解开tar文件
zip test.txt.zip test.txt 也是打包并压缩
unzip test.txt.zip 解包并解包
13、使用vi
vi filepath 打开文件
按Esc键 切换到命令行模式
切换到插入模式:
i 在当前位置生前插入
I 在当前行首插入
a 在当前位置后插入
A 在当前行尾插入
o 在当前行之后插入一行
O 在当前行之前插入一行
dd 删除整行
7 dd 向上删除7行
U 回退(类似于windows 中 ctrl + z)
R 替换
:(冒号) 切换到底行模式
:q 退出
:wq 保存并退出(shift + zz也可以保存)
:q! 不保存退出
vi 模式
vi 编辑器有两种操作模式:
命令模式
在命令模式中,可以在文件中移动并执行编辑操作,比如搜索文本、删除文本、修改文本等等。常常以命令模式启动。
插入模式
在插入模式中,在插入点上将新文本输入文件。要返回命令模式,按下 Esc 键。
这两个模式决定了编辑器的行为。在开发 vi 的时候,并不是所有的终端键盘上都有光标移动键,所以在 vi 中可以做的所有事情都可以使用标准打字机上的键加上 Esc 和 Insert 键来完成。但是,可以将 vi 配置为使用额外的键(如果这些键可用的话);键盘上的大多数键在 vi 中都有作用。vi 是在早期的终端连接时代开发的,所以 vi 使用的命令非常短,因此命令的含义比较含混。
:q!
退出文件编辑并放弃所有修改。这是摆脱麻烦的常用方法。
:w!
写文件(无论是否修改了)。尝试覆盖现有文件、只读文件或其他不可写文件。可以提供一个文件名参数,编辑的结果将写到这个文件而不是原来的文件。一般来说,去掉 ! 比较安全,除非您知道自己正在做什么。
ZZ
如果文件已经修改了,就写文件,然后退出。这是正常退出 vi 的常用方法。
:e!
编辑文件的当前磁盘副本。这会重新装载文件,放弃已经做的修改。如果磁盘副本由于某些其他原因改变了,而您希望获得最新版本,那么可以使用这个命令。
:!
运行 shell 命令。输入命令并按 Enter。当命令完成时,会看到输出以及返回 vi 编辑的提示。
注意:
在输入冒号(:)时,光标将移动到屏幕底部,在这里输入命令和任何参数。
如果从上面的命令中去掉惊叹号,就可能收到一个错误消息,比如指出修改还未保存或无法写输出文件(例如,正在编辑一个只读文件)。
: 命令有更长的形式(:quit、:write、:edit),但是很少使用长形式。
移动
以下命令用于在文件中到处移动:
h
在当前行向左移动一个字符
j
移动到下一行
k
移动到上一行
l
在当前行向右移动一个字符
w
移动到当前行上的下一个单词
e
移动到当前行上的下一个单词末尾
b
移动到当前行上的前一个单词开头
Ctrl-f
向前滚动一页
Ctrl-b
向后滚动一页
如果在这些命令前面输入一个数字,那么命令将重复执行这个数字指定的次数。这个次数称为重复计数,或简称为计数。例如,5h 将向左移动 5 个字符。对于许多 vi 命令都可以使用重复计数。
移动到行
以下命令用于移动到文件中的特定行:
G
移动到文件中的一个特定行。例如,3G 移动到第 3 行。如果没有参数,G 就移动到文件的最后一行。
H
相对于屏幕上的顶行进行移动。例如,3H 移动到从当前屏幕顶行开始的第 3 行。
L
这与 H 相似,但是移动相对于屏幕的最后一行。所以,2L 移动到从屏幕最后一行开始的第 2 行。
搜索
可以使用正则表达式搜索文件中的文本:
/
使用 / 后面跟着一个正则表达式,在文件中向前搜索。
?
使用 ? 后面跟着一个正则表达式,在文件中向后搜索。
n
使用 n 以任意方向重复上一次搜索。
可以在上面的任何搜索命令前面加上一个数字,表示重复计数。所以,3/x 将搜索从当前点开始的第 3 个 x,这相当于 /x 后面跟着 2n。
修改文本
使用以下命令插入、删除或修改文本:
i
在当前位置的字符前面进入插入模式。输入文本并按 Esc 返回命令模式。使用 I 在当前行的开头进行插入。
a
在当前位置的字符后面进入插入模式。输入文本并按 Esc 返回命令模式。使用 A 在当前行的末尾进行插入。
c
使用 c 修改当前字符并进入插入模式以输入替换字符。
o
在当前行下面打开一个新行来进行文本插入。使用 O 在当前行上面打开一个新行。
cw
删除当前单词的剩余部分并进入插入模式以替换它。使用重复计数替换多个单词。使用 c)一样,但是不进入插入模式。
dd
删除当前行。使用重复计数删除多行。
x
删除光标位置的字符。使用重复计数删除多个字符。
p
将最后删除的文本放在当前字符的后面。使用 P 将它放在当前字符的前面。
xp
x 和 p 的组合是一种有用的命令。这个命令将光标位置的字符与它右边的字符对换。
应用这些操作
我们打算在 count1.sh 文件中添加一行。为了保留原来的文件并将修改的版本保存为 count2.sh,可以在用 vi 打开文件之后,使用下面这些 vi 命令。注意,<Esc> 表示按 Esc 键。
清单 116. 在 count1.sh 中添加一行的编辑器命令
1G
O
sleep 20<Esc>
:w! count2.sh
:q
14、查看文本文件
(1)cat a.txt 一次性显示整个文件内容
(2)more a.txt 可以分页看(翻页:空格,往回翻:b ,退出: q或者 Ctrl+C)
(3)less a.txt 不仅可以分页,还可以方便地搜索,回翻等操作(翻页:空格,往回翻:↑,往下翻:↓,退出:q或者 Ctrl+C)
(4)tail -10 a.txt 查看文件的尾部的10行
(5)tail -f user.log 实时刷新显示文件的尾部,这条命令对于观察调试程序的运行非常重要
(6)head -20 a.txt 查看文件的头部20行
15、搜索查找命令
grep‘haha’./ 打印当前目录下所有文件中含有'haha'的地方(支持正则表达式)
grep -c‘haha’./ 显示匹配到的行数
grep -r‘haha’./ 对子目录也进行遍历搜索
grep -l‘haha’./ 只显示命中的文件名
grep -n‘haha’./ 显示命中的行号
grep -ld skip‘haha’./ 显示命中的文件名,不要搜索子目录
参数含义:
-r 递归搜索子目录
-l 只列出有匹配行的文件名
-n 列出匹配行的行号
-d skip 不搜索子文件夹
常用grep跟其他命令组合使用来查找我们关心的信息(管道)
示例:
service --status-all | grep 'httpd' 在当前系统所有服务中查找'httpd'
netstat -nltp | grep '22' 查找监听'22'端口的服务程序
ps –ef | grep java 查找系统中当前运行的java进程
find ./ -name '.txt' 查找以.txt结尾的文件(会遍历当前目录)
find ./ -name ‘install’ 查找以install开头的文件或文件夹
find ./ -type f 查找普通文件
find ./ -type l 查找连接文件(快捷方式)
16、文本命令
重定向输出,覆盖原有内容;
重定向输出,又追加功能;
cat /etc/passwd > a.txt 将密码文件输出定向到a.txt中
cat /etc/passwd >> a.txt 输出并且追加
ifconfig > ifconfig.txt 保存ip信息到文件中
wc -l a.txt 统计文本行数
wc -w a.txt 统计文本单词数
wc -m a.txt 统计文本字符数
wc -c a.txt 统计文本字节数
17.其他常用命令
echo $JAVA_HOME 输出变量JAVA_HOME的值
whoami 查询当前登陆的用户名
which ls 查询ls命令的$PATH路径
mkdir test && cd test
只有在 && 左边的命令返回真(命令返回值 ? == 1),后面的命令就不会被执行。
18、用户管理命令**************************
linux那点事儿(五)----用户管理常用命令
(1)切换到root用户管理: sudo -i ; 正确输入密码即可。退出root用户管理:exit ;sudo passwd:密码就更改了
(2)添加用户 在root管理下 :
useradd 用户名 添加用户(不会添加详细信息)
adduser 用户名 添加用户(会添加详细信息)
passwd 注:为用户设置密码 enter之后输入密码即可
userdel 用户名 删除用户
cat /etc/passwd 查看所有用户列表
19、cat命令详解((linux下cat命令详解)[https://www.cnblogs.com/perfy/archive/2012/07/23/2605550.html])
Ctrl+D 退出cat命令
20、网络配置管理**************************
检查网络连通性: ping 要测试的ip
查看ip地址
ifconfig 查看所有网络设备的地址信息
ifconfig eth0 查看指定的eth0以太网卡的地址信息