Linux基本命令
ctrl+alt+t:虚拟机打开命令行
虚拟机root用户忘记密码:重新设置密码:sudo passwd root-切换到root -su root
1、 基本的快捷键
Ctrl+d 键盘输入结束或退出终端
Ctrl+a 将光标移至输入行头
Ctrl+e 将光标移至输入行末
Ctrl+k 删除从光标所在位置到行末
Tab 补全-命令。目录
2、 Linux 文件权限
ls -l 查看文件权限
d(文件类型)rwx(拥有者权限)r-x(所属用户组权限)r-x(其他用户权限)
ls -dl <目录名> 显示文件大小
3、 修改文件权限
Chmod 700 <file>
chmod go-rw iphone6 g、o 还有 u 分别表示 group、others 和 user,+ 和 - 分别表示增加和去掉相应的权限。
4、 touch 新建空白文件 touch file
5、 新建
l mkdir 新建目录 mkdir mydir
l mkdir –p father/son 新建多级目录
6、 复制
l cp 复制文件到指定目录 cp file father/son
l cp –r 复制目录 cp –r mydir father
7、 删除
rm 删除文件 rm file
rm –f 强制删除文件
rm –r 删除目录 rm –r father
8、 移动文件
mv 原目录文件 目的目录 mv file1 mydir(剪切)
9、 重命名文件
mv 旧的文件名 新的文件名 mv file1 file2
10、 查看文件
cat 为正序显示
tac 为倒序显示
cat –n test 显示行号
head 查看头十行 tail 查看末尾十行(多用于查看日志文件)
11、 搜索文件
which 来确定是否安装了某个指定的软件
find find [path] [option] [action]
sudo find /etc/ -name interfaces
12、 文件打包与解压缩
l Zip
¶ 打包:zip -r -q -o shiyanlou.zip /home/shiyanlou
-r 参数表示递归打包包含子目录的全部内容,-q 参数表示为安静模式,即不向屏幕输出信息,-o,表示输出文件,需在其后紧跟打包输出文件名。
¶ 查看打包文件的大小:du –h shiyanlou.zip
与win兼容:zip -r -l -o shiyanlou.zip /home/shiyanlou
unzip –O GBK 中文压缩文件.zip(大写 O)
¶ 解压:unzip shiyanlou.zip
¶ 指定目录:unzip shiyanlou.zip –d ziptest
Ls –R ziptest
l Tar
¶ 打包:tar –zcvf shiyanlou.tar something
-c
表示创建一个 tar 包文件,-f
用于指定创建的文件名 –v 可视化
¶ 解包到指定目录:tar –zxvf shiyanlou.tar –C tardir
13、 权限类:
¶ 修改目录的所有者:chown -R apache:apache /home/www/web
¶ 修改目录的权限:chmod -R 777 /home/www/web(chmod go+rwx iphone6)
14、 服务
¶ systemctl start nginx
¶ 服务开机自启:systemctl enable nginx
¶ 重启服务:systemctl reload nginx
15、 帮助命令:
l Help
内建命令:help cd
外部命令:ls –help
l Man
Man ls 内容比help详细
Info ls
16、 正则表达式
()括起来的部分就是要提取的,匹配前面的一个字符
. 点匹配任何字符串
? 零次、一次
+ 一次、多次
* 零次、一次、多次 shi*(可以匹配:shi、shii、sh、shikjksdkjd)
|
竖直分隔符表示选择,例如"boy|girl"可以匹配"boy"或者"girl"
[list] 匹配 list 中的任意单一字符
[!list] 匹配 除list 中的任意单一字符以外的字符
[c1-c2] 匹配 c1-c2 中的任意单一字符 如:[0-9] [a-z]
{string1,string2,...} 匹配 string1 或 string2 (或更多)其一字符串
{c1..c2} 匹配 c1-c2 中全部字符 如{1..10}
17、 安装软件
Ubuntu
安装:Sudo apt-get install w3m
重装:Sudo apt-get –reinstall install w3m
卸载:Sudo apt-get remove w3m
搜索软件:Sudo apt-cache search w3m
常用指令
ls 显示文件或目录
-l 列出文件详细信息l(list)
-a 列出当前目录下所有文件及目录,包括隐藏的a(all)
mkdir[选项] 目录 创建目录
-p 创建递归目录
-m 设定目录权限
-v 创建目录的时候显示信息
cd 切换目录
rm[选项] 目录/文件 删除文件/目录
-f 忽略不存在的文件,强制删除
-i 进行交互式删除
-r 递归删除
rm *.log
mv[选项] 源文件或目录 目标文件或目录 移动或重命名(备份文件或目录)
-b 覆盖先前备份
-f 如果目标文件存在,不会询问直接覆盖
-i 如果存在,询问是否覆盖
cp [选项] 源文件 目录 cp [选项] -t 目录 源文件
-t 指定目标目录
-i 覆盖前询问
将 test1 目录下的所有文件复制到 test2 目录下,覆盖前询问,可以使用如下命令
cat/tac[选项]文件—正序和倒序 查看文件内容
-A 查看所有
-n 对行编号
-s 连续空白的二行显示为一行空白
touch 创建空文件
echo 创建带有内容的文件。
-r 递归删除,可删除子目录及文件
-f 强制删除
find 在文件系统中搜索某文件
wc 统计文本中行数、字数、字符数
grep 在文本文件中查找某个字符串
rmdir 删除空目录
tree 树形结构显示目录,需要安装tree包
pwd 显示当前目录
ln 创建链接文件
more、less 分页显示文本文件内容
head、tail 显示文件头、尾内容
ctrl+alt+F1 命令行全屏模式
stat 显示指定文件的详细信息,比ls更详细
who 显示在线登陆用户
whoami 显示当前操作用户
hostname 显示主机名
uname 显示系统信息
top 动态显示当前耗费资源最多进程信息
ps 显示瞬间进程状态 ps -aux
du 查看目录大小 du -h /home带有单位显示目录信息
df 查看磁盘大小 df -h 带有单位显示磁盘信息
ifconfig 查看网络情况
ping 测试网络连通
netstat 显示网络状态信息
man 命令不会用了,找男人 如:man ls
clear 清屏
alias 对命令重命名 如:alias showmeit="ps -aux" ,另外解除使用unaliax showmeit
kill 杀死进程,可以先用ps 或 top命令查看进程的id,然后再用kill命令杀死进程。
gzip:
bzip2:
tar: 打包压缩
-c 归档文件
-x 压缩文件
-z gzip压缩文件
-j bzip2压缩文件
-v 显示压缩或解压缩过程 v(view)
-f 使用档名
例:
tar -cvf /home/abc.tar /home/abc 只打包,不压缩
tar -zcvf /home/abc.tar.gz /home/abc 打包,并用gzip压缩
tar -jcvf /home/abc.tar.bz2 /home/abc 打包,并用bzip2压缩
当然,如果想解压缩,就直接替换上面的命令 tar -cvf / tar -zcvf / tar -jcvf 中的“c” 换成“x” 就可以了。
shutdown
-r 关机重启
-h 关机不重启
now 立刻关机
halt 关机
reboot 重启
依然以tree为例
sudo apt-get install tree 安装tree
sudo apt-get remove tree 卸载tree
sudo apt-get update 更新软件
vim使用
vim三种模式:命令模式、插入模式、编辑模式。使用ESC或i或:来切换模式。
命令模式下:
:q 退出
:q! 强制退出
:wq 保存并退出
:set number 显示行号
:set nonumber 隐藏行号
/apache 在文档中查找apache 按n跳到下一个,shift+n上一个
yyp 复制光标所在行,并粘贴
h(左移一个字符←)、j(下一行↓)、k(上一行↑)、l(右移一个字符→)
/etc/passwd 存储用户账号
/etc/group 存储组账号
/etc/shadow 存储用户账号的密码
/etc/gshadow 存储用户组账号的密码
useradd 用户名
userdel 用户名
adduser 用户名
groupadd 组名
groupdel 组名
passwd root 给root设置密码
su root
su - root
/etc/profile 系统环境变量
bash_profile 用户环境变量
.bashrc 用户环境变量
su user 切换用户,加载配置文件.bashrc
su - user 切换用户,加载配置文件/etc/profile ,加载bash_profile
更改文件的用户及用户组
sudo chown [-R] owner[:group] {File|Directory}
例如:还以jdk-7u21-linux-i586.tar.gz为例。属于用户hadoop,组hadoop
要想切换此文件所属的用户及组。可以使用命令。
sudo chown root:root jdk-7u21-linux-i586.tar.gz
三种基本权限
R 读 数值表示为4
W 写 数值表示为2
X 可执行 数值表示为1
如图所示,jdk-7u21-linux-i586.tar.gz文件的权限为-rw-rw-r--
-rw-rw-r--一共十个字符,分成四段。
第一个字符“-”表示普通文件;这个位置还可能会出现“l”链接;“d”表示目录
第二三四个字符“rw-”表示当前所属用户的权限。 所以用数值表示为4+2=6
第五六七个字符“rw-”表示当前所属组的权限。 所以用数值表示为4+2=6
第八九十个字符“r--”表示其他用户权限。 所以用数值表示为2
所以操作此文件的权限用数值表示为662
更改权限
sudo chmod [u所属用户 g所属组 o其他用户 a所有用户] [+增加权限 -减少权限] [r w x] 目录名
例如:有一个文件filename,权限为“-rw-r----x” ,将权限值改为"-rwxrw-r-x",用数值表示为765
sudo chmod u+x g+w o+r filename
上面的例子可以用数值表示
sudo chmod 765 filename