Linux常用命令操作

查阅命令帮助信息

command --help
显示command命令的帮助信息
man command
查阅command命令的使用手册
man是manual(手册)的缩写,是linux提供的一个手册,包含了绝大部分的命令,

函数的详细使用说明

手册常用命令:

空格:显示手册下一页
Enter:一次滚动手册的一行
b:回滚一屏
r:前滚一页
q:退出
/word 搜索word字符串

常用命令

(1)ls(list):查看当前文件夹下的内容
(2)pwd(print work directory): 查看当前所在文件夹
(3)cd [目录名] (change directory) :切换文件夹
(4)touch [文件名] (touch): 如果文件不存在,新建文件
(5)mkdir [目录名] make directory 创建目录
(6)rm [文件名] remove 删除指定的文件名(无法直接删除文件夹,需要额外设置)
rm -r [文件名] 可以用来删除文件夹
(7)clear clear 清屏

拷贝和移动文件

(8)tree [目录名] tree 以树状图列出文件目录结构
(9)cp 源文件 目标文件 copy 复制文件或者目录
(10)mv 源文件 目标文件 move 移动文件或者目录、文件或者目录重命名

查看文件内容

(11)cat 文件名 concatenate 查看文件内容,创建文件,文件合并,追加文件内容等功能
(12)more 文件名 more 分屏显示文件内容
(13)grep 搜索文本 文件名 grep 搜索文本文件内容

远程管理常用命令

(14)shutdown 选项 时间 shutdown 关机/重启
(15)ifconfig configure a network interface 查看或配置网卡信息
(16)ping ip地址 ping 查看或配置网卡信息
(17)ssh 用户名@ip secure shell 关机/重新启动
(18)scp 源文件 用户名@ip:文件名或路径 secure copy 远程登录和复制文件

用户权限相关命令

(19)chmod +/-rwx 文件名|目录名 修改用户/组对文件/目录的权限

组管理终端命令(之前要加sudo)

(20)groupadd 组名 添加组
(21)groupdel 组名 删除组
(22)cat /etc/group 确认组信息
(23)chgrp -R 组名 文件/目录名 递归修改文件/目录的所属组

用户管理 终端命令(之前要加sudo)

(24)useradd -m -g 组 新建用户名 添加新用户(和passwd组合使用)
·-m:自动建立用户家目录
·-g:指定用户所在的组,否则会建立一个和同名的组
(25)passwd 用户名 设置用户密码(必须设置)
(26)userdel -r 用户名 删除用户(-r选项会自动删除用户家目录)

查看用户信息

(27)id [用户名] 查看用户UID和GID信息
(28)who 查看当前所有登录的用户列表
(29)whoami 查看当前登录用户的账户名

切换目录

(30)su - 用户名 切换用户,并且切换目录 可以切换到用户家目录,否则保持位置不变
(31)exit 退出当前登录用户

修改文件权限

(32)chown 用户名 文件名|目录名 修改文件|目录的拥有者
(33)chgrp -R 组名 文件名|目录名 递归修改文件|目录的组
(34)chmod -R 755 文件名|目录名 递归修改文件权限

系统信息相关命令

(为了方便通过远程终端维护服务器,查看服务器当前系统日期和时间/磁盘空间/占用情况/程序执行情况)
(这些命令基本都是查询命令)
(35)cal calendar 查看日历,-y可以查看一年的日历
(36)date 查看系统时间

(磁盘信息)

(37)df -h disk free 显示磁盘剩余空间(-h:以人性化的方式显示文件大小)
(38)du -h [目录名] disk usage 显示目录下的文件大小

(进程信息)

(39)ps aux process status 查看进程详细状况
(40)top 动态显示运行中的进程并且排序
(41)kill [-9] 进程代号 终止指定代号的进程,-9表示强行终止

其他命令

(查找文件)

(42)find [路径] -name “*.py” 查找指定路径下扩展名是.py的文件,包括子目录

(软连接)

(43)ln -s 被链接的源文件 链接文件 建立文件的软连接,类似于windows下的快捷方式

·没有 -s 选项建立的是一个硬链接文件

两个文件占用相同大小的硬盘空间,工作中几乎不会建立文件的硬链接

·源文件要使用绝对路径,不能使用相对路径,这样可以方便移动链接文件后,仍然能够正常使用

linux中文件名和文件数据是分开保存的

(打包压缩)

(44)tar -cvf 打包文件.tar 被打包的文件/路径 #打包
(45)tar -xvf 打包文件.tar #解包文件
(46)tar -zcvf 打包文件.tar.gz 被打包的文件/路径 #压缩文件
(47)tar -zxvf 打包文件.tar.gz #解压缩文件
(48)tar -zxvf 打包文件.tar.gz -C 目标路径 #解压缩到指定路径

(软件安装/卸载)

·advanced packaging tool
(49)sudo apt install 软件包 #安装软件
(50)sudo apt remove 软件名 #卸载软件
(51)sudo apt upgrade #更新已安装的包

ctrl + shift + = 放大终端窗口的字体显示
ctrl + - 缩小终端窗口的字体显示

linux 终端命令格式

command [-options] [parameter]
[]:代表可选
command:命令名,相应功能的英文单词或单词的缩写
[-options]:选项,可用来对命令进行控制,也可以省略
[parameter]:传给命令的参数。可以是零个、一个或多个
当多个选项一起出现时,可以省略之后的-和空格,连在一起写

终端实用技巧

1、自动补全
在敲出 文件/目录/命令 的前几个字母之后,按下tab键
·如果输入的没有歧义,系统会自动补全
·如果还存在其他 文件/目录/命令 ,再按一下tab键,系统会提示可能存在的命令
2、曾经使用过的命令
·按 上/下 光标键可以在曾经使用过的命令之间切换
·如果想要退出选择,并且不想执行当前选中的命令,可以按ctrl+c

ls常用选项

-a 显示指定目录下所有子目录与文件,包括隐藏文件
-l 以列表方式显示文件的详细信息
-h 配合-l以人性化的方式显示文件大小

ls和通配符的使用

*:代表任意个数个字符
?:代表任意一个字符,至少一个
[]:表示可以匹配字符组中的任意一个
通常找的是文件,要找以什么结尾的,要把扩展名也写上

cd命令

cd ~ 切换到当前用户的主目录
cd - 在最近两次工作目录之间切换

touch命令

功能:创建文件或修改文件时间
·如果文件 不存在,则创建一个空白文件
·如果文件 存在, 则修改文件的末次修改日期

mkdir命令

功能:创建一个新的目录
-p:可以递归创建目录
·新建目录的名称不能与当前目录中已有的目录或文件同名

rm命令

删除文件或目录(不可恢复)
-f:强制删除,忽略不存在的文件,无需提示
-r:递归的删除目录下的内容,删除文件夹时必须加此参数

tree命令

-d:只显示目录
~:查看家目录结构

cp命令

简化使用:如果目标文件不改变名字,直接写路径
-i:覆盖文件前提示
-r:若给出的源文件是目录文件,则cp将递归复制该目录下的所有
子目录和文件,目标文件必须为一个目录名

mv命令

mv指令可以移动文件或目录,也可以用来重命名
-i:覆盖文件前提示

cat命令

会一次显示所有的内容,适合查看内容较少的文本文件
-b:对非空输出行编号
-n:对输出的所有行编号
还有一个nl命令和cat -b效果等价

more命令

空格:显示手册下一页
Enter:一次滚动手册的一行
b:回滚一屏
r:前滚一页
q:退出
/word:搜索word字符串

grep命令

linux中grep是一种强大的文本搜索工具
grep允许对文本文件进行模式查找,就是正则表达式
-n:显示匹配行及行号
-v:显示不包含匹配文本的所有行(相当与求反)
-i:忽略大小写

常用的两种模式查找

^a:行首,搜寻以a开头的行
ke$:行尾,搜寻以ke结束的行

其他命令

echo:会在终端中显示参数指定的文字,通常会和重定向联合使用
重定向>和>>:·linux允许将命令执行结果重定向到一个文件
·将本应显示在终端上的内容 输出/追加到指定文件中
其中">"表示输出,会覆盖文件已有内容
">>"表示追加,会将内容追加到已有文件的末尾
管道:·linux允许将一个命令的输出可以通过管道作为另一个命令的输入
·可以理解现实生活中的管子,管子的一头塞东西进去,另一头取出来,这里|的左右分为两端,
左端塞东西(写),右端取东西(读)
常用的管道命令有:
·more:分屏显示内容
·grep:在命令执行结果的基础上查询指定的文本

shutdown命令

该命令可以安全关闭或者重新启动系统
提示:·不指定选项和参数,默认表示1分钟后关闭电脑
·远程维护服务器时,最好不要关闭系统,而应该重新启动系统
-r:重新启动
-c:取消关机/重启
举例:
shutdown -r now 立即重启
shutdown now 立即关机
shutdown 20:25 系统将在20:25关机
shutdown +10 再过10分钟后自动关机

网卡是一个专门负责网络通讯的硬件设备
ip地址是设置在网卡上的地址信息,可以唯一标识一个网卡
一台计算机中可能会有一个物理网卡和多个虚拟网卡,在linux中物理网卡名字以ensXX表示

linux中ssh是非常常用的工具,通过ssh客户端我们可以连接到运行了ssh服务器的远程机器上
数据传输是加密的,可以防止信息泄露
数据传输是压缩的,可以提高传输速度
ssh客户端是一种使用secure shell协议连接到远程计算机的软件程序
ssh是目前较可靠,专为远程登录会话和其他网络服务提供安全的协议
利用ssh协议 可以有效防止远程管理过程中的信息泄露
通过ssh协议可以对所有传输的数据进行加密,也能过防止DNS欺骗和IP欺骗
ssh的另一项优点是传输的数据可以是经过压缩的,所以可以加快传输的速度

域名和端口号
域名:
·由一串用点分割的名字组成 如www.baidu.com
·是ip地址的别名,方便记忆
端口号
·ip地址:通过ip地址找到网络上的计算机
·端口号:通过端口号可以找到计算机上运行的应用程序
·ssh服务器的默认端口号是22,如果是默认端口号,在连接的时候,可以省略
常见的服务端口列表:
序号 服务 端口号
01 ssh服务器 22
02 web服务器 80
03 https 443
04 ftp服务器 21

ssh客户端简单使用

ssh [-p port] user@remote
user:是在远程机器上的用户名,如果不指定的话默认为当前用户
remote:是远程机器的地址,可以是ip/域名,或者是别名
port:ssh sever 监听的端口,如果不指定,默认为22

使用exit退出当前用户登录
ssh这个终端命令只能在linux或者Unix系统下使用
如果在windows系统中,可以安装PuTTy或者XShell客户端即可

scp命令

是linux下用来远程拷贝文件的命令
scp [-P port] user@remote
-r:递归复制目录及下面的子目录和文件

免密码登录

ssh-keygen即可生成ssh钥匙,一路回车即可
上传公钥到服务器
执行ssh-copy-id -p port user@remote 可以让远程服务器记住我们的公钥

超级用户

·linux中的root账号通常用于系统的维护和管理,对操作系统的所有资源具有所有访问权限
·在大多数版本的linux中,都不推荐直接使用root账号登录系统
·在linux安装过程中,系统会自动创建一个用户账号,而这个默认的用户就称为“标准用户”

sudo

·su是substitute user的缩写,表示使用另一个用户的身份
·sudo命令用来以其他身份来执行命令,预设的身份为root
·用户使用sudo时,必须先输入密码,之后有5分钟的有效期限,跳过期限则必须重新输入密码

若其未经授权的用户企图使用sudo,则会发出警告邮件给管理员

组管理

/etc目录是专门用来保存系统配置信息的目录
usermod:可以用来设置用户的主组/附加组和登录shell,命令格式:
·主组:通常在新建用户时指定,在etc/passwd的第四列GID对应的组
·附加组:在etc/group中最后一列表示该组的用户列表,用于指定用户的附加权限
(设置了用户的附加组后需要重新登录才能生效)
#修改用户的主组(passwd中的GID)
usermod -g 组 用户名

#修改用户的附加组
usermod -G 组 用户名

#修改用户登录shell
usermod -s /bin/bash

which命令(重要)

可以查看执行命令所在的位置
which ls

#输出
#/bin/ls

which useradd

#输出
#/usr/sbin/useradd

·在linux中,绝大多数可执行文件都是保存在/bin、/sbin、/usr/bin、/usr/sbin
·/bin(binary)是二进制执行文件目录,主要用于具体应用
·/sbin(system binary)是系统管理员专用的二进制代码存放目录,主要用于系统管理
·/usr/bin(user commands for application)后期安装的一些软件
·/usr/sbin(super user commands for application)超级用户的一些管理程序

切换用户

su不接用户名,可以切换到root,但是不推荐使用,因为不安全

·chmod在设置权限时,可以简单地使用三个数字分别对应 拥有者/组/和其他用户的权限
#直接修改文件|目录的读|写|执行权限,但是不能精确到 拥有者|组|其他
chmod +/-rwx 文件名|目录名

ps命令

·ps默认只会显示当前用户通过终端启动的应用程序
·a:显示终端上所有进程,包括其他用户的进程
·u:显示进程的详细状态
·x:显示没有控制终端的进程
使用kill命令时,最好只终止由当前用户开启的进程,而不要终止root身份开启的进程
否则会导致系统崩溃。

top命令

一旦运行,就会动态的显示cpu占用比较高的程序

其他

·find命令:
·如果省略路径,表示在当前文件夹下查找
·通配符,在使用find可以使用

tar命令

·不同操作系统中打包压缩方式不一样
windows:rar
Mac:zip
Linux:tar.gz
·tar是linux中最常用的备份工具,此命令可以把一系列文件打包到一个大文件
中,也可以把一个打包的大文件恢复成一系列文件
-c:生成档案文件,创建打包文件
-x:解开档案文件
-v:列出归档解档的详细过程,显示进度
-f:指定档案文件名称,f后面一定是.tar文件,所以必须放选项最后
注意:f选项必须放在最后,其他可以随意
·gzip:tar与gzip命令结合可以实现文件打包和压缩
tar只负责打包,但不压缩,用gzip压缩tar打包后的文件,其扩展名
一般用xxx.tar.gz
在tar命令中,有一个选项-z可以方便调用gzip
·bzip2:tar只负责打包,但不压缩,用gzip压缩tar打包后的文件,其扩展名
一般用xxx.tar.bz2
在tar命令中,有一个选项-j可以方便调用bzip2

配置软件源

·如果希望在ubuntu中安装软件更加快捷,可以通过设置镜像源,选择一个访问网速
更快的服务器,来提供下载/安装服务
·提示:更换服务器之后,需要一个相对比较长的更新过程,需要耐心等待。更新完
之后,在安装软件就会从新设置的服务器下载软件了
·镜像源:所有服务器的内容是相同的(镜像),但是根据所在位置不同,国内服务器
更快一些。

vi

·终端中的编辑器

你可能感兴趣的:(Linux)