1.基础命令:
clear——清屏
Windows下是cls
cd ——进入
cd - ——后退
cd -n ——后退n步
--------------------------------------------------------------------------
/ ——根目录
"cd /" 进入根目录
根目录下包含home目录,home目录下包含用户目录
-------------------------------------------------------------------------------
ls ——查看
"ls -l" 以列表方式查看
"ls -al"包含显示"."开头的文件
shift+page up/down——翻页
more ——more命令可以让屏幕在显示满一屏幕时暂停,此时可按空格健继续显示下一个画面,或按Q键停止显示
hostname ——查看主机名称
修改主机名称如下
----------------------------------------------------------------------------------------------------------------
man命令——通过man指令可以查看Linux中的指令帮助、配置文件帮助和编程帮助等信息
--help ——帮助
"ls --help"为ls的帮助
<span style="color:#ff0000">(man是在系统安装的时候安装了狠多的文档,可以在系统的目录doc下找到,如果软件有配套的页面,就可以使用man来查找,而 help是软件编写人员在编写的时候提供了内置的查询参数,查询的参数在程序里面。 也就是说man查询的结果是在程序外面,而help 查询出来的内容在程序里面,一般看信息都用查看man文档,而help只是一个简单的描述,方便,但man文档中都包含了。)</span>
--------------------------------------------------------------------------------------------------------------
tab ——补全
"ls"+tab键:补全ls
"ls /"+按住tab键:补全/
whoami——动态提取当前用户名
pwd——当前目录是什么
cd ~——进入home目录
ifconfig——查看网络配置情况
wget+网址——保存网页
cat——查看文件
cat a.txt——显示a.txt文档的内容
cat -n——显示行标
cat --help——帮助
mkdir——创建目录(cd ~进入home目录后创建或删除不需要权限。其他位置如果有权限限制,加sudo mkdir)
mkdir -p——创建级联目录
sudo reboot——
tree——以树形方式展现目录结构
find . ——查看当前目录(递归)
rmdir xx——删除空目录
rm -f -r——删除文件和目录 -f 强制 -r 递归
touch a.txt——新建文本文档a
echo xx >> a.txt——重定向输入(追加)
echo xx > a.txt——重定向输入(覆盖)
cp a.txt /download——将a.txt拷贝到download(目的地址不能临时创建,必须提前存在)
cp a.txt b.txt——将a.txt拷贝成b.txt(b.txt是同时创建的)
head -5 a.txt——显示a.txt的前5行
tail -5 a.txt——显示a.txt的后5行
nano——文档编辑
nano a.txt——编辑a.txt
在文档编辑模式下: ctrl+o保存文档;Ctrl+x退出编辑界面;
---------------------------------------------------------------------------------------
ctrl+alt+F5——打开新的会话
ctrl+C——结束当前进程
--------------------------------------------------------------------------------------
环境变量(区分大小写)
echo $PATH
echo ${PATH}
echo "$PATH"
$环境变量表示方法:
1.$env other——通过空格区分
2.${env} ——通过{ }来区分
3."$env" ——通过" "来区分
------------------------------------------------------------------------------------------------
export ——用于设置或显示环境变量
export myvar=/bin ——设置myvar的环境变量
(export myvar1=${myvar1:-$myvar} 的含义是如果已经存在myvar1,则myvar1的环境变量为之前的,如果不存在myvar1,那么myvar1的环境变量和myvar的环境变量相同)
------------------------------------------------------------------------------------------------
which XXX——查看指令的存放目录
whereis XXX——查询命令的binary、source、manual
sudo reboot——重启
uname -a——Unix name,内核等等
file a.txt——查看文件信息,包括文件类型
---------------------------------------------------------------------------------------------
tar -x——extract
-v——verbose
-z——filter
-f——指定文件
tar -cf a.tar B C——从文件B和C创建a.tar
tar -tvf a.tar——列出a.tar下的所有文件
gzip -d——解压
-1——压缩(速度优先)
-9——压缩(质量优先)
gunzip——解压文件
------------------------------------------------------------------------------------------
xxx | yyy——管道(前方输出当做后方输入)
xxx | xargs——将标准输入的内容转化成一行内容(提取前面的输出内容将其转化为单行)
find . | xargs grep -ri "IBM"——(find.找到所有文件夹; xargs把所有文件夹串成一行;grep -ri "IBM"过滤包含"IBM"的内容)
cp x y——将x复制到y
` `——反引号,将引号内的字符串解析成命令执行(反引号内的xargs不是字符串而是命令)
-------------------------------------------------------------------------------------------------
mount——挂载
在VMware的client机光驱上插入光盘(ISO文件)
1.显示VMware状态栏
2.在状态栏光驱右键-->设置-->打开窗口
3.硬件选项卡-->CD/DVD
4.右侧选择连接-->ISO镜像文件-->浏览选中ISO文件
5.右键光驱-->连接
6.在根目录下,cd /dev/
ls -al | grep cd 看到所有cd连接 -->s0 (以l开头的为链接)
7.创建/mnt/cdrom (以root身份创建,容纳挂载文件)
8.sudo mount /dev/cdrom /mnt/cdrom (挂载cdrom光驱到/mnt/cdrom下)
8.sudo umount /dev/cdrom (卸载设备)
8.sudo umount /mnt/cdrom (卸载挂载目录也可以)
--------------------------------------------------------------------------------------------------
ln——创建链接(默认硬链接,ln -s为符号链接)(硬链接的格式也是文件,相当于源文件的动态镜像,删除一个另外一个仍然存在)
ln target link_name——硬链接(目录不允许创建硬链接)
ln -s target link_name ——符号链接,相当于快捷方式
cp -P xxx ——进入xxx所在的物理地址
xxx & ——在后台执行程序
bg ——background 后台程序
fg ——前台程序
kill %n ——杀死进程(n为进程编号)
ps -Af——显示进程信息
ps -Ao——用户自定义显示哪些列(如ps -Ao uid,pid)列名称必须小写,中间用逗号隔开
cut -c N-M a.txt ——切断a.txt的内容
—— -c按照字符数计算;N-M从第N个到第M个;N-第N个到行尾;N第N个字符
fdisk 磁盘 (在根目录下进入Dev文件夹,里面的sd1,sd2,sd5就是磁盘)
sudo fdisk -l ——查看分区表
sudo fdisk /dev/sda ——管理分区
df ——磁盘空间使用情况
basename /x/y/z ——提取的是文件z
如 basename /bing/ping ——得到ping 得到文件名
dirname /x/y/z——提取目录/x/y
如 dirname /bing/ping——得到/bing 得到目录名
--------------------------------------------------------------------------------------------------
2.权限
r——read 可读
w——write可写
x——可执行
user(用户) group(组) other(其他)
如:
d 指的是文件类型
drwxr-xr-x 分为三组:
u-user:rwx 可读可写可执行
g-group:r-x可读不可写可执行
o-other:r-x可读不可写可执行
chmod ——更改权限
如上图,新建一个脚本a.sh(内容为echo hello world),如果直接输入a.sh,相对于把a.sh当做指令来看,但PATH里面没有a.sh的路径,所以会提示“找不到”。因此要运行a.sh必须有a.sh的路径,所以会有 ./a.sh (.代表当前文件目录)。或者把a.sh的路径添加到PATH里,这样可以直接运行了(但首先要把原来的PATH添加到新PATH里)
如上图,a.sh(内容为echo hello world)没有执行权限,用chmod添加执行权限后才可运行a.sh 。
chown ——修改拥有者
user ——只有一个primary group,可以多个secondary group
如上图,将a.txt的拥有者ununtu修改为root
---------------------------------------------------------------------------------------------
adduser ——添加新用户
adduser 用户名
根目录下包含home目录,home目录下包含用户目录,所以添加新用户时一般在home目录下添加。
如上图,home目录下只有一个ubuntu用户。
如上图,添加了新用户ubuntu1。
如上图,一开始新建a.txt失败是因为当前用户为ubuntu,但是却要在ubuntu1内新建文件,所以失败。必须先进入ubuntu1用户再创建(su ububtu1)。或者可以修改ubuntu1的other写权限,这样就可以在ubuntu下给ubuntu1新建文件了。如下图
----------------------------------------------------------------------------------------------
组合命令
a && b ——a成功后才执行b
a || b ——a失败后才执行b
a ; b ——多命令一起执行,没有逻辑
(a;b) ——组合命令,只在当前目录执行,不切换目录(如下图,加了括号以后执行完命令后仍处于downloads目录下)
----------------------------------------------------------------------------------------------------
编写脚本,动态提取参数
$1代表提取第一个参数,$2代表提取第二个参数,$n代表提取第n个参数
$0代表提取当前指令
$? ——存放上次执行命令的结果,0表示成功,1表示失败
$# ——提取参数个数
$@ ——输出所有参数
shift ——参数左移,原来最左边的参数去掉
-------------------------------------------------------------------------------------------
if语句
if coments ; then
coments ;
else
coments ;
fi
如下
-lt 表示“小于” -gt 表示“大于”
-e ——判断文件(夹)是否存在
-d ——判断是否是目录
-f ——判断是否是文件
-----------------------------------------------------------------------------------------------
for语句
for (( 表达式1;表达式2;表达式3 ));
do
内容;
done
-----------------------------------------------------------------------------
3.文件类型
d——目录
l——链接(快捷方式)
- ——文件
b——block块
---------------------------------------------------------------------------------