Linux-第六章:Linux常用命令

摘要:
它在默认情况下被直接覆盖,因此可以省略-I交互副本。覆盖文件之前将提示用户确认-R如果给定的源文件是目录文件,cp将递归复制目录下的所有子目录和文件,目标文件必须是目录名-V显示复制进度。

6.Linux命令

  • ls 查看目录的内容 常用ls -la/home 显示目录下的所有文件的详细信息,详细信息第一个内容有四块,d或者-开头rwx
  • clear 清屏
  • cd 切换文件路径
  • pwd 显示当前文件夹
  • mkdir 创建文件夹
  • touch 创建文件
  • rm 删除文件或者文件夹
  • mv 移动文件或者对文件重命名
  • ">" 输出重定向
  • "|" 管道
  • cp 拷贝
  • chmod 更改权限
  • find 查找文件
  • grep 查找文件内容
  • reboot 重启
  • shutdown 关机
  • who 查看当前登录用户
  • exit 退出登录用户
  • passwd 设置密码
  • su 切换管理员
  • which 查看命令的位置
  • ln 链接
  • tar 打包,解包
  • zip/gzip/bzip2 压缩,解压缩

6.1cd 切换文件夹

cd /home 绝对路径 以根目录开头

cd admin 想等路径,不以根目录开头

cd .. 返回上级目录

cd ~ 到自己的家 /home/admin

cd - 电视回看功能

注意:..代表上级目录,.代表当前目录

6.2pwd 查看当前目录

对应英文print work directory

6.3ls 查看目录的内容

ls 查看目录的内容

ls -l 显示详细列表,更快捷的可以用ll表示 ls -l ==ll

ls -lh 把文件的带下以人性化的方式显示

ls -a 显示所有文件,包含隐藏文件、隐藏文件夹,隐藏文件是.开头的文件

ls tupian 查看相对路径下的tupian文件夹下的内容

ls / 查看根目录下的文件,不用切换目录cd

ls -la / 查看根目录下所有文件的详细信息

通配符

*匹配多个字符

?匹配一个字符

[ ]括号里面的字符随机匹配一个

转义字符,将通配符当成普通的符号看

ls *txt 查看当前目录下所有以txt结尾的文件

6.4mkdir 创建文件夹

英文名:make diretory

只要没有写绝对路径,都是默认的相对路径

mkdir tupian 在当前目录下创建文件夹

mkdir /home/admin/tupian 以绝对路径创建文件夹

mkdir /home/admin/a/tupian -p 如果上级目录不存在,加上-p自动创建父目录

mkdir shipin/nan shipin/nv

mkdir wendang/{nan,nv} 同时创建多个文件夹

mkdir .ren 以.开头,创建的是隐藏文件夹

由此发现..保存的是上级文件

6.5touch 创建文件

touch abc.txt 在当前目录下创建 如果指定了目录,必须保证上级目录存在

touch .abc 创建隐藏文件

  • Linux系统中没有严格的后缀(格式),所以创建文件时可以命名为人同意的文件名

6.6gedit 打开文件的命令

gedit abc.txt

6.7rm 删除文件或者目录

rm abc.txt 删除文件

rm a -r 加上-r表示删除的是目录

rm * -r 删除所有的内容,但是.和..不能删除

drwxrwxr-x d 表示文件夹 -表示文件

rwx rwx r-x r 可读 w 可写 x 执行

第一组指文件的拥有者的权限,第二组代表文件拥有的组的权限,第三组代表其他用户的权限

tmp这个目录全部的用户都有rwx权限

6.8clear 清屏

6.9自动补全

在敲出文件/目录/命令的前几个字母后,按下tab键

  • 如果输入没有歧义,系统会自动补全
  • 如果还存在其他文件/目录/命令,再按一下tab键,系统会提示可能存在的命令

小技巧:

ctrl+l清屏

按上/下光标可以在曾经使用过的命令之间来回切换

如果想要退出选择,并且不想执行当前选中的命令,可以按ctrl+c

ctrl+shift+= 放大总段窗口的字体显示

ctrl + - 缩小终端窗口的字体显示

6.10man 终端命令

man command 查阅command命令的使用手册

man是manual的缩写,是Linux提供的一个手册,包含绝大多数的命令,函数的详细使用说明

使用man时的操作键

操作键功能
空格键显示手册的下一屏
Enter键一次滚动手册页一行
b回滚一屏
f前滚一屏
q退出
/word搜索word字符串

6.11--help

command --help显示command命令的帮助信息

6.12cp 拷贝

拷贝一个文件,在指定目录下粘贴文件,若目录下已经有该文件,会自动覆盖之前的文件

cp 1.txt a 把1.txt复制到a这个文件夹下

cp 1.txt 2.txt 把1.txt复制到2.txt,若当前目录下没有2.txt则会自动创建一个文件

cp a a_bak -r 拷贝文件夹

常用选项说明

选项含义
-a该选项通常在复制目录时使用,它保留连接、文件属性,并递归地复制目录,简单而言,保持文件原有属性。
-f覆盖已经存在的目标文件而不提示。默认直接覆盖,所以可以不用加。
-i交互式复制,覆盖文件前给出用户提示要求用户确认。
-r若给出的源文件时目录文件,则cp递归复制该目录下的所有子目录和文件,目标文件必须为一个目录名。
-v显示拷贝进度。

注意:cp命令需要看后面一个参数到底存不存在,存在的话则将其第一个参数拷贝过去第二个参数的文件夹下,不存在则创建一个新的文件名字为第二个参数。

需要加常用选项的有

rm -r 删除文件夹

cp -r 拷贝到文件夹

mkdir -p 目录不存在则自动生成

6.13mv 移动、重命名

用户可以使用mv命令来移动文件或目录,也可以给文件或目录重命名

mv 1.txt abc.txt 同样是移动到当前目录下,可以当作是重命名

mv abc.txt nv 将abc.txt移动到nv这个文件夹下

mv abc.txt nv/abc_bak.txt 将abc.txt移动到nv这个文件夹下并且改名为abc_bak.txt

mv abc nv 将abc文件夹移动到nv文件夹下

注意:移动文件夹的时候不用加-r也不会报错

常用选项

选项含义
-f禁止交互式操作,如有覆盖也不会给出提示
-i确认交互方式操作,如果mv操作将导致对已存在的目标文件的覆盖,系统会询问是否重写,要求用户回答以避免错误覆盖文件
-v显示移动进度

mv 4.txt /home/admina 将4.txt移动到home文件夹下并且改名为admina,这样会提示权限不够

mv 4.txt /home/admin 将4.txt移动到admin目录下,运行不会报错

6.14输出重定向命令: >

Linux允许将命令执行结果重定向到一个文件,本应显示在终端上的内容保存到指定文件中

ls >test.txt test.txt如果不存在,则创建,存在则覆盖其内容

ls的结果一般会显示到终端上,现在加上>会将显示的结果存放到test.txt中,且覆盖

注意:>输出重定向会覆盖原来的内容,>>输出重定向则会追加到文件的尾部

6.15cat 查看或者合并文件内容

cat test1.txt 在终端上查看test1.txt的内容

cat test1.txt test2.txt 查看两个文件的内容,且先显示test1.txt

cat test1.txt test2.txt >test3.txt 合并两个文件的内容到第三个文件中,并且终端上不显示

若一个文件中的内容特别多,cat命令会直接翻到最后一行,不方便我们的查看

6.16more 顺序查看文件

more 1.txt 顺序从上往下查看文件,按enter/空格可以往下翻,enter是一行一行翻,空格是一页一页翻,按b往回翻页,按q键退回,翻到最尾就不能再翻了,会自动返回终端。

6.17管道 : |

管道:一个命令的输出可以通过管道作为另一个命令的输入

管道我们可以理解为显示中的管子,管子的一头塞东西进行,另一头取出来,这里的"|"的左右分为两端,左端塞东西(写),右端读取东西(读)。

ls / | more 管道里面 不能往回翻,因为这不是一个文件,只是将左边的结果返回给右边的命令进行处理

1600837413511

6.18建立链接文件:ln

Linux链接文件类似于Windows下的快捷方式。

链接文件分为软链接和硬链接。

软链接:不占用磁盘空间,源文件删除则软链接失效。

硬链接:硬链接只能链接普通文件,不能链接目录

使用格式:

硬链接

ln 源文件 链接文件

软链接

ln -s 源文件 链接文件

例子:

软链接本身不存储内容,只记录源文件的名称

ln -s 1.txt 1_link 给1.txt创建一个软链接,只记录名称,相当于windows的快捷方式

ln -s 1,txt ~.1_link 给其他目录创建一个软链接,如果源文件不写绝对路径,软链接指向的文件是不存在的

ln -s /home/admin/1.txt ~/1_link

ln -s abc abc_link 给目录创建软链接

如果没有-s表示建立硬链接文件,两个文件占用相同大小的硬盘空间,即使删除了源文件,链接文件还是存在,所以-s是更常见的形式。

注意:如果软链接的文件和源文件不在同一个目录,源文件需要使用绝对路径,不能使用相对路径。

将软链接的源文件删除以后,会发现链接文件会标红,再创建一个相同名字的源文件,链接文件又恢复正常。

创建链接以后,操作链接文件和操作源文件的效果是一样的。

硬链接相当于把源文件的内容全部拷贝过去,本身占用空间,能与源文件保持同步的变化,ll查看的第二项的数字就是文件同步的数量,删除源文件对链接文件不会产生影响。

6.19grep 查找文件内容

grep hello test.txt 按行搜索test.txt中包含hello的行

grep -n hello test.txt 会多显示在哪一行

grep -i hello test.txt 对hello不区分大小写

grep -v hello test.txt 反向查找

grep -n hello . -r 查找一个目录下的文件里面是否存在hello,需要加上-r

常用选项说明:

选项含义
-v显示不包含匹配文本的所有行
-n显示匹配行及行号
-i忽略大小写

grep搜索的内容可以是正则表达式

正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特殊字符、及这些特定字符的组合组成一个“规则字符串”,这个规则字符串用来表达对字符串的一种过滤逻辑。

grep常用正则表达式:

参数含义
^a行首,搜索以m开头的行:grep -n '^a' 1.txt
ke$行尾,搜索以ke结束的行:grep -n 'ke$' 1.txt
[Ss]igna[LI]匹配[]里面的一系列字符串中的一个,搜寻匹配单词signalsignaLSignalSignaL的行
.点匹配一个非换行符的字符,匹配e和e之间又任意一个字符,可以eee,eae,eve,但是不匹配ee,eaae。grep -n 'e.e' 1.txt

6.20find 查找文件

通常用来在特定目录下搜索符合条件的文件,也可以用来搜索特定用户属主的文件。

常用用法:

命令含义
find . -name test.sh查找当前目录下所有名为test.sh的文件
find . -name '*.sh'查找当前目录下所有后缀为.sh的文件

加上通配符的应用需要加引号

find ~ -name '*txt' 找到家目录下所有以txt结尾的文件

find / -type f -size +1G 找到根目录下大于1G的文件(+表示大于,-表示小于)

6.21归档管理:tar

此命令可以将一系列文件归档到大文件中,也可以把档案文件解开以恢复数据

tar使用格式tar[参数] 打包文件名 文件

tar cvf a.tar *.txt 打包

tar xvf a.tar -C atar 解包

tar命令很特殊,其参数前面可以使用“-”,也可以不使用

常用参数:

参数含义
-c生成档案文件,创建打包文件
-v列出归档解档的详细过程,显示进度
-f指定档案文件名称
-t列出档案中包含的文件
-x解开档案文件

注意:需要指定文件名则必须加f,且f一般放到最尾

例子:

tar cvf a.tar 1.txt 2.txt

f后面的第一个参数是打包的文件名,后面的都是要打包的文件

tar tf a.tar 列出包里面的文件

tar xvf a.tar 解包,如果没写目录,则将包里面的文件解开放到当前目录

tar xvf a.tar -C tar 写上目录,且这个目录必须存在,不然会报错,目录存在则解开包里面的文件放到此目录下

6.22gzip 压缩

tar cf a.tar * 打包当前目录下的所有文件,目录下会生成a.tar文件

gzip -r a.tar 压缩a.tar文件,生成a.tar.gz

gzip -d a.tar.gz 先解压,得到a.tar文件

mkdir ~/atar 创建目录

tar xf a.tar -C ~/atar 解包到指定文件夹

一般需要一步到位用

tar czf b.tar.gz * 打包加压缩

tar zxf b.tar.gz -C btar 解压解包到btar目录下

6.23文件压缩解压:bzip2

tar jcf j.tar.bz2 *txt 生成j.tar.bz2的压缩文件

tar xjf j.tar.bz2 -C jtar 解压到jtar目录下

6.24zipunzip 压缩解压

zip -r zz *txt 这个会自动生成扩展名,生成zz.zip文件

unzip -d zz zz.zip 若目录不存在,则自动生成一个zz文件夹,将zz.zip解压到zz文件中

压缩率:zip<gzip<bzip2

通用性:zip>gzip>bzip2

2.25which查看位置命令

which ls

which zip

用which命令的时候,可以查看命令的位置

注意:windows中一般可执行程序是.exe结尾,但在Linux中,只要其rwx含有x就代表是可执行文件

2.26su切换管理员

su 切换到root 需要输入密码才能切换

su admin 回车直接切换到admin用户

6.27who查看当前登录用户

admin pts/0

admin tty1

pts表示一个终端,tty表示用户登录了操作系统

pkill -kill -t tty1 杀死用户登录的操作系统,需要重新进行登录

6.28reboot 和 shutdown

reboot 不需要权限,shutdown需要root权限

reboot 立即重启操作系统

shutdown -r now 重新启动操作系统,shotdown会给别的用户提示

shutdown -h now 立即关机,其中now相当于时间为0的状态

shutdown -h 20:25 系统在今天的20:25分关机

shutdown -h +10 系统在10分钟后自动关机

6.29用户管理

超级用户可以使用passwd命令为普通用户设置或者修改用户密码,用户也可以直接使用该命令来修改自己的密码,且无需再命令后使用用户名。

useradd admin #创建新用户

passwd 1234 #设置用户密码

userdel -r admin #删除用户

6.30退出登录账户:exit

  • 如果是图形界面,退出当前终端
  • 如果是使用ssh远程登录,则退出登录账户
  • 如果是切换后的登录用户,退出则返回上一个登录账号

6.31修改文件权限:chmod

linux操作系统是多任务用户操作系统,每当我们使用用户名登录操作系统时,linux都会对该用户进行认证、授权审计等操作。操作系统为了识别每个用户,会给每个用户定义一个ID,就是UID。用户组就相当于多个用户的容器,在Linux系统中,用户组也有一个ID、GID。

在Linux操作系统中,root的权限是最高的,相当于windows的administrator,拥有最高权限,能执行任何命令和操作,而其他用户都是普通用户。

chmod修改文件权限又两种使用格式,字母法与数字法

字母法:chmod u/g/o/a +/-/= rwx 文件

uuser表示该文件的所有者
ggroup表示与该文件所有者属于同一组者,即用户组
oother表示其他以外的人
aall表示这三者皆是
+/-/=含义
+增加权限
-撤销权限
=设定权限
rwx含义
rread表示可读取对于一个目录,如果没有r权限,就意味着不能通过ls查看这个目录的内容
wwrite表示写入,对于一个目录,如果没有w权限,则不能在目录下创建新的文件
xexcute表示可执行,对于一个目录,如果没有x权限,则不能通过cd进入到这个目录

例子:

chmod u+x test.txt

chmod u-r test.txt

chmod u=rw test.txt 设定文件所有者权限为rw

chmod u=- test.txt 设置权限为空,什么权限都没有

chmod u+r,g-w,o=x test.txt

chmod a+w test.txt 所有人都添加w权限

数字法:

rwx这些权限也可以通过数字来代替

字母说明
r读取权限,数字代号为"4"
w写入权限,数字代号为"2"
x执行权限,数字代号为"1"
-不具任何权限,数字代号为"0"

如chmod u=rwx,g=rx,o=r filename 等价于 chmod u=7,g=5,o=4 filename

chmod 751 file:文件所有者有rwx,同组用户为rx,其他用户为x

注意:如果想递归加上所有目录加上相同的权限,需要加上参数-R,如chmod 777 test/-R递归test目录下所有文件加777权限

6.32vim/vi

vi有三种基本工作模式

  • 命令模式
  • 文本输入模式
  • 末行模式

vim基本操作

vim是从vi发展出来的一个文本编辑器。代码补完、编译及错误跳转等方便编程的功能特别丰富。

进入插入模式:

i:插入光标前一个字符

I:插入行首

a:插入光标后一个字符

A:插入行末

o:向下新开一行,插入行首

O:向上新开一行,插入行首

进入命令模式:

ESC:从插入模式或者末行模式进入命令模式

移动光标:

h 左移

j 下移

k 上移

l 右移

M 光标移动到中间行

L 光标移动到屏幕最后一行行首

G 移动到指定行,行号 -G

w 向后移动一个字

b 向前移动一个字

{ 按段移动,上移

} 按段移动,下移

Ctrl -d 向下翻半屏

Ctrl -u 向上翻半屏

Ctrl -f 向下翻一屏

Ctrl -b 向上翻一屏

gg 光标移动文件开头

G 光标移动到文件末尾

删除命令:

x:删除光标后一个字符,相当于Del

X:删除光标前一个字符,相当于Backspace

dd:删除光标所在行,n dd 删除指定的行数,D:删除光标后本行所有内容,包含光标所在字符

d0:删除光标前本行所有内容,不包含光标所在字符

dw:删除光标开始位置的字,包含光标所在字符

撤销命令:

u: 一步一步撤销

Ctrl -r :反撤销

重复命令:

. : 重复上一次操作的命令

复制粘贴:
yy : 复制当前行,n yy 复制n行

p : 在光标所在位置向下开辟一行,粘贴

可视模式:

v:按字符移动,选中文本

V:按行移动,选中文本可视模式看配合 d, y ,>>,<<实现对文本块的删除,复制,左右移动

查找命令:

/ : str查找

n : 下一个

N : 上一个

按shitf+:进入末行模式:

w 存盘

wq 存盘退出

q! 不存盘,强制退出

例子:

vim 1.txt

按回车以后首先进入到命令模式,想写东西可以按a/A/I/i/o/O,进入插入模式,写完东西,需要保存则先按ESC,回到命令模式,再按shift+:进入末行模式,输入w回车即可保存文件写入的内容,再次返回命令行模式则再按ESC即可返回命令行模式。

6.33ps

ps 查看ps命令本身的进程,当前终端进程

ps -ef 相当于打开任务管理器,查看正在运行的程序

UID表示用户编号 PID表示每个进程的编号 PPID表示父亲进程的编号

6.34kill

kill命令用来种植执行的程序

kill -9 12345 #杀死pid为12345的进程

-9表示Linux中的第九号信号,杀死某一个进程

6.35网络和服务管理命令

service命令是用来控制系统服务的实体工具,它以启动、停止、重新启动和关闭系统服务,还可以显示所有系统业务的当前状态。

service network status #查看网络服务状态

service network stop #停止网络服务

service network start #启动网络服务

service network restart #重启网络服务

Linux查看ip地址:ifconfig

Windows查看ip地址:ipconfig

免责声明:文章转载自《Linux-第六章:Linux常用命令》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇spring 配置问题记录1-@ResponseBody和favorPathExtension[Usaco2010 Mar]gather 奶牛大集会下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

(Windows)VMware虚拟机安装Linux系统

  所谓虚拟机(virtual machine),就是通过软件技术虚拟出来的一台计算机,它在使用层面和真实的的计算机并没有什么区别。常见的虚拟机软件有VMware Workstation(简称VMware)、VirtualBox、Microsoft Virtual PC等,其中VMware市场占有率最高。   VMware可以在一台计算机上同时运行多个操作...

ubuntu 交叉编译qt 5.7 程序到 arm 开发板

ubuntu 交叉编译qt 5.7 程序到 arm 开发板平台1 ubuntu 12.042 arm-linux-gcc 4.5.13 QT 5.74 开发板210 armcortex-A8  一 概述QT5的ARM移植及其中文显示 二 准备工具1.交叉编译工具(arm-linux-gnueabi-4.5.1.tar.bz2)2.交叉编译好的Qt库(arm...

linux-----虚拟机配置

百度网盘有虚拟机安装包以及教程 链接:https://pan.baidu.com/s/1WYfp_EUPiD9vxTspDkoxLA 提取码:0818 一、Linux的简介 1.Linux的概述 Linux是基于Unix的开源免费的操作系统,由于系统的稳定性和安全性几乎成为程序代码运行的最佳系统环境。Linux是由Linus Torvalds(林纳斯·托瓦...

Linux(Ubuntu):搭建Docker-Compose

1. Docker Compose 简介及安装 Docker Compose 是一种用于通过使用单个命令创建和启动 Docker 应用程序的工具。我们可以使用它来配置应用程序的服务。 它是开发,测试和升级环境的利器。 它提供以下命令来管理应用程序的整个生命周期: 启动,停止和重建服务 查看运行服务的状态 流式运行服务的日志输出 在服务上运行一次性命令...

Linux自带神器logrotate详解

Linux自带神器logrotate详解 散尽浮华 运维 3天前   作者:散尽浮华 链接:https://www.cnblogs.com/kevingrace/p/6307298.html 对于 Linux 系统安全来说,日志文件是极其重要的工具。不知为何,我发现很多运维同学的服务器上都运行着一些诸如每天切分 Nginx日志之类的 CRON 脚本...

Vs 2008 解决方案的目录结构设置和管理(转)

http://blog.csdn.net/lcj_cjfykx/article/details/8632459 MS的这个IDE,实在庞杂得恐怖。从大学开始,我就一直用VC的各个版本写程序至今,细细想来,也仅仅是窥豹一斑,羞愧不已。但若仔细翻阅文档,又觉得时间花得不值,于是便一直凑活地用着。 前段时间负责搭建新项目的开发环境,兼一直在看Gamebryo的...