个人博客原文链接
Ubuntu版本大部分操作与CentOS版本一致,Linux只是在Unix发展的过程中为解决开源问题而产生的一种类Unix系统,两者之间没有代码逻辑上的关系,只不过Linux是模仿Unix的系统结构、功能,独立开发出来的一种兼容Unix的系统
环境:VMware+Ubuntu64
第一次设置Ubuntu的root账号的密码
解决方案:
1. 手动设置密码:sudo passwd root
2. 输入当前用户密码
3. 输入root的密码
4. 再次确认输入root的密码
Windows:常用于个人计算机
Unix:常用于服务器端(服务器端大部分都是基于Unix的操作系统)
Linux:基于Unix,有很多发行版本,常见的有CentOS,Ubuntu,小红帽等
whoaim:查看当前用户
sudo:执行的命令临时拥有超级用户的权限
修改普通用户的密码:passwd
修改普通用户密码的要求,对超级用户没有作用
1)密码的长度6到8个字符
2)密码至少包含2个字符和一个数字或者一个特殊字符
3)密码不能和用户名相同
4)新密码和旧密码至少有3个字符不同
超级用户的名字就是root
- 普通用户切换到超级用户:su
- 输入超级用户的密码
- 超级用户切换到普通用户:exit
- 普通用户的标识:$
- 超级用户的标识:#
d:目录
-:普通文件
b:块设备文件
c:字符设备文件
l:链接文件
p:管道文件
s:socket文件
注:大小写敏感,命令用空格分隔
clear:清屏
cd app:切换到app目录
cd …:切换到上一层目录
cd /:切换到系统根目录
cd ~:切换到用户主目录
cd -:切换到上一个所在目录
mkdir(make directory) 创建子目录命令
mkdir a:在当前目录下创建a目录
mkdir -p a/b/c:在当前目录级联创建a/b/c目录
rmdir(remove directory)删除“空”的子目录
rmdir a:删除a目录
touch:创建一个空白的新文件或修改最后一次访问时间
ls(list) 显示当前目录下的内容
ls:显示能看见的文件(和目录)的名称
ls -a:显示所有的文件名称,文件前面有“.”代表隐藏文件
ls -l:显示文件的详细信息(简写方式:ll)
ls -t:按时间顺序排列显示
ls -R:递归显示该目录及子目录所有文件
ll -h:友好的显示
ls -F:显示文件类型
- 目录文件/
- 可执行文件*
- 文本文件(none)
文件的权限由9个字母组成,三个三个一组
第一组代表的是当前用户的权限
第二组代表的是组的权限
第三组代表的是其他用户的权限
r:读 4
w:写 2
x:执行 1
chmod (变更文件或目录的权限)
chmod 755 a.txt
chmod u=rwx,g=rx,o=rx a.txt
chmod u-w+x,go-w a.txt
chmod 000 a.txt (超级管理员依旧可以对它进行操作)
★chmod 777 a.txt
chown (变更文件或目录改文件所属用户和组)
chown 用户:组 文件
chown user1:public a.txt :变更当前的目录或文件的所属用户和组
chown -R u1:public dir :变更目录中的所有的子目录及文件的所属用户和组
cp(copy) 复制一个文件
cp a.txt b.txt:将a.txt复制并重命名为b.txt
cp a.txt a/c.txt:将a.txt复制到a目录并重命名为c.txt
cp a.txt b.txt c:将a.txt和b.txt复制到c中
cp -i a.txt b:覆盖操作时会有提示
cp -r dir1 dir2:复制目录,将dir1目录及其子目录全复制到dir2中
mv(move) 移动一个文件(重命名)
mv a.txt b.txt:相当于重命名
mv a.txt a/b:将a.txt移动到a目录下的b目录
mv -i a.txt a/b:覆盖操作时会有提示
rm(remove)删除一个文件
rm a.txt 删除a.txt
rm -r a 递归删除目录
rm -ri a 带询问的递归删除
rm -r ./* 直接删除当前目录(慎用!!)
rm -r /* 直接删除根目录(GG!!!!!)
cat 在当前屏幕显示文件的全部内容(不推荐)
cat 文件
more 一般用于显示的内容会超过一个屏幕的文件(不推荐)
more 文件(空格显示下一页,回车显示下一行,q退出)
less 和more类似,但更易于控制翻页
less 文件(PgUp上一页,PgDn下一页)
tail 显示文件后几行的内容
tail -10 文件:查看该文件后十行内容
tail -f 文件:动态查看(常用于动态查看日志)
ctrl+c:结束动态查看
grep(查找符合条件的字符串----常用)
grep hello 1.txt:在1.txt文件中查找hello
grep hello 1.txt --color:在1.txt文件中查找hello并高亮显示
grep hello 1.txt --color -A5:在1.txt文件中查找hello并高亮显示,只显示hello的后5行
grep hello 1.txt --color -B5:在1.txt文件中查找hello并高亮显示,只显示hello的前5行
tar(打包或解压一个文件或目录----常用)
常用的组合参数:
-cvf:打包一个文件或目录
-zcvf:打包并压缩一个文件或目录(压缩的格式为.gzip)
-xvf:解压或打开一个tar文件
命令格式:
tar 参数 文件名 要打包的文件或目录
示例:
将当前目录下的所有文件打包成1.tar
tar -cvf 1.tar ./*
将当前目录下的所有文件解压并压缩为2.tar.gz
tar -zcvf 2.tar.gz ./*
将1.tar解压到当前目录
tar -xvf 1.tar
将1.tar解压到b目录
tar -xvf 1.tar -C b
ps (正在运行的某个进程的状态)
ps –ef 查看所有进程
ps –ef | grep ssh 查找某一进程 kill 杀掉某一进程
kill 2868 杀掉2868编号的进程
kill -9 2868 强制杀死进程
man 命令 :查看“命令”的帮助
man rm:查看rm的命令帮助
空格:翻页
q:退出帮助
telnet ip地址
输入账号
输入密码
exit or logout 退出登录
ifconfig (显示或设置网络设备)
ifconfig 显示网络设备
ping (持续探测网络是否通畅,ctrl+c终止)
ping 192.168.0.1
netstat (查看网络端口)
netstat -an | grep 3306 查询3306端口占用情况
*: 个数不定,字符不定
?: 任意单个字符
;: 同时执行多条命令
[]:个数确定一个,内容指定一个范围
date 显示当前系统时间
cal 显示当前日历
cal 7 2028 显示2028年7月的日历
>
:重定向输出,覆盖原有内容
cat a.txt > b.txt : 将a.txt的内容重定向输出到b.txt,覆盖原有内容
>>
:重定向输出,追加内容
cat c.txt >> b.txt : 将c.txt的内容追加到b.txt后面
将一个命令的输出用作另一个命令的输入
示例:
在ifconfig的输出里寻找192.168字符串
ifconfig | grep 192.168
查找和java相关的进程
ps -ef | grep java
查找和3306相关的信息
ps -ef | grep 3306
既可以查看文件也可以编辑文件,两者区别不大,vi代码不变色,vim代码会变色。
三种模式:命令行、输入、底行模式。
切换到命令行模式:按Esc键;
切换到插入模式:按 i 、o、a键;
i:在当前的光标所在位置前面插入
o:在当前光标所在的行的下一行插入
a:在光标所在位置后面插入
切换到底行模式:按 :(冒号)或/(斜杠)或?(问号)
一般流程:
打开文件:vim file
显示行号:esc:set nu
修改文件:输入i进入插入模式
保存:w
另存为:w newfile
不保存退出:esc:q!
保存并退出:esc:wq
快捷键(在命令模式时使用):
yw:复制一个单词
yy:复制当前行
p:粘贴到当前行
:1,2co3:复制1-2行到3行后面
:4,5m6:移动4-5行到6行后面
x:删除一个字符
dd:快速删除当前行
5dd:删除5行
:5,10d:删除5-10行
dw:删除一个单词
3dw:删除3个单词
d+←/→:删除左边一个或右边一个
r:替换一个字符
cw:替换一个单词
cc:替换一行
C:替换从光标至行尾
u:撤销上一次操作
J:把当前行和下一行连接起来
:21:光标停在指定行21行
21G:光标停在指定行21行
/串:从当前行往下查找
?串:从当前行往上查找
n:查找下一个
:r file2:在光标所在位置插入另一个文件
:1,$s/旧串/新串/g:替换全文
variable=value
PS1="`hostname`: $PWD $"
path:命令的默认搜索路径
想知道所执行的命令到底在哪个目录下?
which vi 搜索vi所在的路径(在path下搜索,搜索到就停止)
whereis vi 搜索vi所在的路径(在path下搜索,搜索到继续搜索,直到找到所有的vi)
包含命令和变量的设置,当shell启动时就执行
对初始化文件在操作系统中分为两级:
1、系统级(一旦修改,对所有的用户都起作用)
/etc
2、用户级(只对当前的用户有效)
/home/user/(用户的家目录)