Linux系统常用命令
Linux命令是最近接触比较多的命令,在这里我将一些使用频率比较高的命令总结了一下,仅供参考(仍然在不断完善当中)
关机(系统的关机、重启等)
(1)关闭系统
·shutdown -h now
·init 0
·telinit 0
(2)重启
·shutdown -r now
·reboot
(4)注销
·logout
(5)其他
·shutdown -h hours:minutes & 按预定时间关闭系统
·shutdown -c 取消按预定时间关闭系统
man命令可用于查看命令的具体可用参数与对象格式。
常用格式:
man [其他命令]
man命令的常用操作按键:
空格键 向下翻一页。
[Page Down] 向下翻一页。
[Page Up] 向上翻一页。
[HOME] 直接前往首页。
[END] 直接前往尾页。
/关键词 从上至下搜索某个关键词,如"/linux"。
?关键词 从下至上搜索某个关键词,如"?linux"。
n 定位到下一个搜索到的关键词。
N 定位到上一个搜索到的关键词。
q 退出帮助文档。
clear命令用于清屏
pwd命令用于查看当前所在位置
文件和目录
1.cd命令 切换所在目录
cd [参数][目录名]
常用参数:
-P:如果切换的目标目录是一个符号链接,则直接切换到符号链接指向的目标目录
-L:如果切换的目标目录是一个符号链接,则直接切换到符号链接名所在的目录
--:仅使用”-“选项时,当前目录将被切换到环境变量”OLDPWD”对应值的目录
~:切换至当前用户目录
..:切换至当前目录的上一级目录
使用权限:所有使用者
常用命令:
cd /home 进入 '/ home' 目录'
cd .. 返回上一级目录
cd ../.. 返回上两级目录
cd 进入个人的主目录
cd ~ 进入个人的主目录
cd - 返回上次所在的目录
注:pwd 显示工作路径
2. ls命令 用于显示指定工作目录下的详细内容(列出目前工作目录所含之文件及子目录)。
常用参数:
-a 显示所有文件及目录 (ls内定将文件名或目录名称开头为"."的视为隐藏档,不会列出)
-l 除文件名称外,亦将文件型态、权限、拥有者、文件大小等资讯详细列出
-r 将文件以相反次序显示(原定依英文字母次序)
-t 将文件依建立时间之先后次序列出
-A 同 -a ,但不列出 "." (目前目录) 及 ".." (父目录)
-F 在列出的文件名称后加一符号;例如可执行档则加 "*", 目录则加 "/"
-R 若目录下有文件,则以下之文件亦皆依序列出
常用命令:
ls -F 查看目录中的文件
ls -l 显示文件和目录的详细资料 (非隐藏目录的详细资料)
ls -al 查看当前目录下所有文件的权限(与ls -l 的差别在于该命令可以显示非隐藏目录和隐藏的目录的权限)
ls -a 显示隐藏文件
ls *[0-9]* 显示包含数字的文件名和目录名
3.cat命令 用于连接文件并打印到标准输出设备上
常用参数:
-n 或 --number:由 1 开始对所有输出的行数编号。
-b 或 --number-nonblank:和 -n 相似,只不过对于空白行不编号。
-s 或 --squeeze-blank:当遇到有连续两行以上的空白行,就代换为一行的空白行。
-v 或 --show-nonprinting:使用 ^ 和 M- 符号,除了 LFD 和 TAB 之外。
-E 或 --show-ends : 在每行结束处显示 $。
-T 或 --show-tabs: 将 TAB 字符显示为 ^I。
-A, --show-all:等价于 -vET。
-e:等价于"-vE"选项;
-t:等价于"-vT"选项;
4.more命令 用于查看纯文本文件(较长的)
命令格式:more [选项] 文件
常用参数:
-数字 预先显示的行数(默认为一页)
-d 显示提示语句与报错信息
实例:
more -8 /etc/passwd 显示passwd文档的前八行
常用命令操作:
:f 输出文件名和当前的行号
q 退出more模式
空格键 向下滚动一屏
Ctrl + B 返回上一屏
5. less命令
基本功能和more没有太大差别,但是less命令可以随意向前向后浏览文件,而more只能向后浏览文件,同时less还拥有更多的搜索功能
常见使用方法:
less file 浏览file文档
less -N file 浏览file文档,并且显示每行的行号
less -m file 浏览file文档,并显示百分比
常用按键:
f 向前滚动一屏
b 向后滚动一屏
回车或j 向前移动一行
k 向后移动一行
G 移动到最后一行
g 移动到第一行
/string 向下搜索string,n查看下一个,N查看上一个结果
?string 向上搜索string,n查看下一个,N查看上一个结果
q 退出
相比more命令,less命令能够搜索匹配需要的字符串。
另外,less还能在多个文件间切换浏览:
less file1 file2 file3
:n #切换到下一个文件
:p #切换到上一个文件
:x #切换到第一个文件
:d #从当前列表移除文件
例如:
6.head命令 用于查看纯文本文档的前N行
命令格式为:head [选项] [文件]
常用参数:
-n 10 显示10行
-n -10 正常输出(如cat命令),但不显示最后的10行
7.tail命令 用于查看纯文本文档的后N行
命令格式为:tail [选项] [文件]
常用参数:
-n 10 显示后面的10行
-f 持续刷新显示的内容
8.重定向输出命令“>”、“>>”、输入命令“<”、“<<”
常用命令:
·cat > test.sh 该命令将标准输入作为输入然后将输出重定向到test.sh如果该文件已经存在则将其内容进行覆盖。
· cat > >test.sh 该命令和上一个重定向输出命令的不同点之一在于该输出并不会覆盖原有的文件而是附加在原有文件的后面。并且当输出的目标文件不存在时也会自动的创建。
·cat -n textfile1 > textfile2 表示把 textfile1 的文档内容加上行号后输入 textfile2 这个文档里
·cat -b textfile1 textfile2 >> textfile3 表示把 textfile1 和 textfile2 的文档内容加上行号(空白行不加)之后将内容附加到 textfile3 文档里
9.cp命令 主要用于复制文件或目录
常用参数:
-a:此选项通常在复制目录时使用,它保留链接、文件属性,并复制目录下的所有内容。其作用等于dpR参数组合。
-d:复制时保留链接。这里所说的链接相当于Windows系统中的快捷方式。
-f:覆盖已经存在的目标文件而不给出提示。
-i:与-f选项相反,在覆盖目标文件之前给出提示,要求用户确认是否覆盖,回答"y"时目标文件将被覆盖。
-p:除复制文件的内容外,还把修改时间和访问权限也复制到新文件中。
-r:若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件。
-l:不复制文件,只是生成链接文件。
常用命令:
cp file1 file2 复制一个文件
cp dir/* . 复制一个目录下的所有文件到当前工作目录
cp -a /tmp/dir1 . 复制一个目录到当前工作目录
cp -a dir1 dir2 复制一个目录
10.vi/vim命令
vi 和 vim命令的区别:
vi编辑器是所有Unix及Linux系统下标准的编辑器,他就相当于Windows系统中的记事本一样,它的强大不逊色于任何最新的文本编辑器。
vim 具有程序编辑的能力,可以以字体颜色辨别语法的正确性,方便程序设计;
vim可以当做vi的升级版本
vi 基本上可以分为三种状态,本别是一般模式、编辑模式和命令行模式,各模式的功能区分别如下:
(1)一般模式:以vi 打开一个文件就直接进入一般模式了(默认模式)。
【h、j、k、l】,分别控制光标左、下、上、右移一格
按【ctrl+b】屏幕往"后"移动一页
按【ctrl+f】屏幕往"前"移动一页
(2)编辑模式:
在一般模式中可以进行删除、复制、粘贴等的操作,但是却无法编辑文件的内容,只有当到你按下【i, I, o, O, a, A, r, R,】等任何一个字母之后才会进入编辑模式。这时候屏幕的左下方会出现【INSERT或 REPLACE】的字样,此时才可以进行编辑。而如果要回到一般模式时, 则必须要按下【Esc】即可退出编辑模式。
【x】 为向后删除一个字符 (相当于【del】键)
【X】 为向前删除一个字符(相当于【backspace】键)
【dd】 删除光标所在行
【ndd】 删除光标所在的向下n行
【yy】 复制光标所在的那一行
【nyy】 复制光标所在的向下n列
【i, I】 进入编辑模式:
-i 为【从目前光标所在处插入】
-I 为【在目前所在行的第一个非空格符处开始插入】
【a, A】 进入编辑模式(Insert mode):
-a 为【从目前光标所在的下一个字符处开始插入】
-A 为【从光标所在行的最后一个字符处开始插入】
【o, O】 进入编辑模式:
-o 为【在目前光标所在的下一行处插入新的一行】
-O 为在目前光标所在处的上一行插入新的一行
【r, R】 进入取代模式:
-r 只会取代光标所在的那一个字符一次
-R会一直取代光标所在的文字,直到按下 ESC 为止;
【Esc】 退出编辑模式,回到一般模式
【x】 为向后删除一个字符 (相当于【del】键)
【X】 为向前删除一个字符(相当于【backspace】键)
【u】 恢复前一个操作
(3)命令行模式:
输入【 : / ? 】三个中的任何一个,就可以将光标移动到最底下那一行。在这个模式中, 可以提供查找、读取、存盘、替换字符、离开vi、显示行号等的动作则是在此模式中完成的!
一般模式切换到命令行模式可用的按钮说明
【:w】 保存编辑的内容
【:w!】强制写入该文件,但跟你对该文件的权限有关
【:q】 离开vi
【:q!】 不想保存修改强制离开
【:wq】 保存后离开(后加叹号强制保存后离开)
【:x】 保存后离开
【:15】跳到该数字这一行
-------------------------
使用vi 在某文本 输入
#!/bin/bash
#this is the first bash
pwd
ls -al
输入# ./文件名
(如果权限不够,chmod 修改x 执行权限然后再次 输入 # ./文件名 就可以执行文件里的命令行)
11.wc命令用于计算字数
常用参数:
-c或--bytes或--chars 只显示Bytes数。
-l或--lines 只显示行数。
-w或--words 只显示字数。
12.mv命令用于移动文件或改名
格式为:mv [选项] 文件名 [目标路径|目标文件名]
常用命令:
mv aaa bbb 将文件aaa重命名为bbb
13.rm命令用于删除文件或目录
格式为:rm [选项] 文件
常用参数:
-f 忽略警告信息
-i 删除前先询问
-r 删除文件夹
常用命令:
rm 文件名 删除普通文件并提示确认信息
rm -rf 文件或目录名 删除普通文件或目录文件,不提示
14.passwd命令用于修改用户的密码
命令格式:passwd [选项] [用户名]
修改其他用户的密码:passwd 其他用户名
常用参数:
-l 锁定用户禁止其登陆
-u 解除锁定,允许用户登陆。
--stdin 允许从标准输入修改用户密码,如(echo "NewPassWord" | passwd -stdin Username)
-d 使帐号无密码
-e 强制用户下次登陆时修改密码
-S 显示用户的密码状态
15.usermod命令用于修改用户的属性
命令格式:usermod [选项] 用户名
常用参数:
-c 填写帐号的备注信息
-d -m -m与-d连用,可重新指定用户的家目录并自动旧的数据转移过去。
-e 帐户到期时间,格式“YYYY-MM-DD”
-g 变更所属用户组
-G 变更扩展用户组
-L 锁定用户禁止其登陆系统
-U 解锁用户,允许其登陆系统
-s 变更默认终端
-u 修改用户的UID
16.userdel命令用于删除用户所有表格
命令格式:userdel [选项] 用户名
例如:
userdel -d 用户名 删除用户与其家目录
常用参数:
-f 强制删除用户,家目录与其相关文件
-r 同时删除用户,家目录与其相关文件
系统状态检测
ifconfig用于获取网卡配置与网络状态等信息:
命令格式:ifconfig [网络设备] [参数]
uname命令用于查看系统内核版本等信息
命令格式:uname [-a]
注:如果想查看系统详细版本信息就看redhat-release文件
history命令用于显示历史执行过的命令
命令格式:history [-c]
清空该用户在本机中执行过命令的历史记录:history -c
history默认会保存1000条执行过的命令,若要修改可直接编辑/etc/profile文件的HISTSIZE值
echo命令
用于在终端显示字符串或变量
格式为:echo [字符串 | 变量]
su命令
用于变更为其他使用者的身份,除 root 外,需要键入该使用者的密码
常用命令:
su - root 变更账号为root并且将环境变量一起更改(注:不加- 表示只切换账户不更改环境变量)可搭配whoami(查看当前用户)一起使用
id命令
用于显示当前用户的ID,当前用户
yum命令
yum( Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器。
基於RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。
yum提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。
语法
yum [options] [command] [package ...]
options:可选,选项包括-h(帮助),-y(当安装过程提示选择全部为"yes"),-q(不显示安装的过程)等等。
command:要进行的操作。
package操作的对象。
常用命令:
yum install package_name 下载并安装一个rpm包
yum localinstall package_name.rpm 将安装一个rpm包,使用你自己的软件仓库为你解决所有依赖关系
yum update [package_name.rpm] 更新当前系统中所有安装的rpm包
yum update [package_name] 更新一个rpm包
yum remove [package_name] 删除一个rpm包
yum list 列出当前系统中安装的所有包
yum search [package_name] 在rpm仓库中搜寻软件包
yum clean packages 清理rpm缓存删除下载的包
yum clean headers 删除所有头文件
yum clean oldheaders: 清除缓存目录下旧的 headers
yum clean all 删除所有缓存的包和头文件
磁盘
mkfs 命令
用于在特定的分区上建立 linux 文件系统
使用方式 :
mkfs [-V] [-t fstype] [fs-options] filesys [blocks]
常用命令:
mkfs.ext4 /dev/sdb1 将文件格式化ext4文件系统 (注:这里.后边可以改成ext4、ext3或者xfs)
mount命令
用于挂载文件系统
命令格式为:mount 文件系统 挂载目录
常用参数:
-a 挂载所有在/etc/fstab中定义的文件系统
-t 指定文件系统的类型
常用命令:
mount /dev/sdb2 /backup 将设备”/dev/sdb2“挂载到”/backup“目录
umount命令
用于撤销已经挂载的设备文件
命令格式为:umount [挂载点/设备文件]
常用命令:
umount /dev/sdb2 取消对/dev/sdb2设备文件的挂载
fdisk命令
用于管理磁盘分区,
命令格式为:fdisk [磁盘名称]
常用参数:
-m 查看全部可用的参数
-n 添加新的分区
-d 删除某个分区信息
-l 列出所有可用的分区类型
-t 改变某个分区的类型
-p 查看分区表信息
-w 保存并退出
-q 不保存直接退出
df命令
用于查看挂载点信息与磁盘使用量
命令格式为:df [选项] [文件]
常用参数:
-a 显示出所有的文件系统(包括虚拟的)
-total 展出出总体使用量
-h 更易读的容量格式如1K,234M,2G…
-i 展示出Inode的信息(默认是磁盘使用信息)
-T 显示出文件系统的类型
常用命令:
df -h查看挂载信息与硬盘使用量
du命令
用于查看磁盘的使用量
命令格式为:du [选项] [文件]
常用参数:
-a 评估每个文件而非目录整体占用量。
-c 评估每个文件并计算出总占用量总和。
-h 更易读的容量格式如1K,234M,2G…
-s 仅显示占用量总和。
常用命令:
du -sh / 查看根目录中各文件夹所占空间
du -sh * 查看当前目录下各文件所占空间
mdadm命令
用于管理系统软件RAID硬盘阵列
命令格式为:mdadm [模式] <RAID设备名称> [选项] [成员设备名称]
mdadm管理RAID阵列的动作有:
名称 |
作用 |
Assemble |
将设备加入到以前定义的阵列 |
Build |
创建一个没有超级块的阵列 |
Create |
创建一个新的阵列,每个设备具有超级块。 |
Manage |
管理阵列(如添加和删除)。 |
Misc |
允许单独对阵列中的某个设备进行操作(如停止阵列)。 |
Follow or Monitor |
监控状态。 |
Grow |
改变阵列的容量或设备数目。 |
mdadm管理RAID阵列的参数有:
-a 检测设备名称
-n 指定设备数量
-l 指定raid级别
-C 创建
-v 显示过程
-f 模拟设备损坏
-r 移除设备
-a 添加设备
-Q 查看摘要信息
-D 查看详细信息
-S 停止阵列
常用命令:
mdadm -Cv /dev/md0 -a yes -n 4 -l 10 /dev/sdb /dev/sdc /dev/sdd /dev/sde
该命令表示含义:-C代表创建操作,-v显示创建过程,-a yes检查RAID名称,-n是用到的硬盘个数,-l是定义RAID的级别而后面写上要加入阵列的硬盘名称。