Linux常用操作命令大全及使用方法详解

1、切换目录
cd(change directory)功能:切换目录

语法:cd [目录]

意义:cd是change directory 的缩写;cd命令后面跟一个路径,用于切换当前用户所在的路径,其中路径可以是绝对路径也可以是相对路径。

常用:

cd   ~       当前用户主目录

cd   /        根目录

cd   -        上一次访问的目录

cd   ..       上一级目录

cd            当前用户主目录

touch 1.txt 在当前目录创建一个文件1.txt

clear:清除屏幕

举例:

cd /system/bin 表示切换到/system/bin路径下。

cd logs 表示切换到logs路径下。

cd / 表示切换到根目录。

cd ../ 表示切换到上一层路径。

2、查看目录结构
ls(list)功能:列出目录内容

格式::ls <参数> <路径>

意义:ls是list的缩写;ls命令后面可以跟一个路径或参数,也可以不跟,表示列出路径或当前目录下的所有文件信息。最常用的的参数是“-l",也就是“ls -l”命令。

#常用参数
-a或--all    所有文件和目录。注意隐藏文件、特殊目录、以“.”开头的和以“..”开头的

-l    使用详细格式列表

-t    用文件和目录的更改时间排序

-r   反向排序

--help   在线帮助

常用:

ls -l 列出当前目录下的文件信息(此命令很常用,简化的格式为 ll

ls -al 列出当前目录下的文件信息(包括隐藏文件,特殊目录)

ll /home/ 显示根目录下home目录下的内容

举例:
ls / 显示根目录下的所有文件及文件夹。

ls -l /data 显示/data路径下的所有文件及文件夹的详细信息。

ls -l 显示当前路径下的所有文件及文件夹的详细信息

ls *l wc显示当前目录下面的文件数量。

3、新建目录
pwd:显示当前工作目录

mkdir: 创建目录

#举例
mkdir   a :当前目录下创建文件夹a

mkdir  /root/b  :在根目录下的root下创建目录b

mkdir  -pv  /root/c/e/d :在根目录下的root下创建目录结构c/e/d(一下创建多级目录)

mkdir /data/path 在/data路径下创建path文件夹。

mkdir -p a/b/c 参数 -p用于创建多级文件夹,这句命令表示在当前路径下创建文件夹a, 而a文件夹包含子文件夹b,b文件夹下又包含子文件夹c
	-p:父目录不存在情况下先生成父目录
	
	-v:显示命令执行过程中的详细信息

4、文件浏览
[注]:按tab键可以自动补齐文件名(比如输入pa,会自动补齐后面的内容)

(1)cat <文件名>:显示指定文件内的所有内容信息(用于文件内容少的情况)

意义:cat是concatenate 的缩写。表示读取文件内容及拼接文件。

举例:
cat /sys/devices/system/cpu/online 读取 /sys/devices/system/cpu/路径下online文件内容。

cat test.txt 读取当前路径下test.txt文件里的内容。

(2)more <文件名>:功能类似于 cat, more 会以一页一页的显示方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示。

命令参数:
	+n      从笫 n 行开始显示
	-n       定义屏幕大小为n行
	+/pattern 在每个档案显示前搜寻该字串(pattern),然后从该字串前两行之后开始显示 
	-c       从顶部清屏,然后显示
	-d       提示“Press space to continue,’q’ to quit(按空格键继续,按q键退出)”,禁用响铃功能
	-l        忽略Ctrl+l(换页)字符
	-p       通过清除窗口而不是滚屏来对文件进行换页,与-c选项相似
	-s       把连续的多个空行显示为一行
	-u       把文件内容中的下画线去掉


常用操作命令:
	Enter    向下 n 行,需要定义。默认为 1 行
	Ctrl+F   向下滚动一屏
	空格键  向下滚动一屏
	Ctrl+B  返回上一屏
	=       输出当前行的行号
	:f     输出文件名和当前行的行号
	V      调用vi编辑器
	!命令   调用Shell,并执行命令
	q       退出more

举例:

显示文件中从第3行起的内容
more +3 text.txt

在所列出文件目录详细信息,借助管道使每次显示 5 行
ls  -l  |  more  -5

按空格则会显示下 5 行

(3)less [参数] <文件名> :与 more 类似,但使用 less 可以随意浏览文件,而 more 仅能向前移动,却不能向后移动,而且 less 在查看之前不会加载整个文件。

常用命令参数:

-i  忽略搜索时的大小写
-N  显示每行的行号
-o  <文件名> 将less 输出的内容在指定文件中保存起来
-s  显示连续空行为一行
/字符串:向下搜索“字符串”的功能
?字符串:向上搜索“字符串”的功能
n:重复前一个搜索(与 / 或 ? 有关)
N:反向重复前一个搜索(与 / 或 ? 有关)
-x <数字> 将“tab”键显示为规定的数字空格
b  向后翻一页
d  向后翻半页
h  显示帮助界面
Q  退出less 命令
u  向前滚动半页
y  向前滚动一行
空格键 滚动一行
回车键 滚动一页
[pagedown]: 向下翻动一页
[pageup]:   向上翻动一页
举例:
(1)ps 查看进程信息并通过 less 分页显示
ps -aux | less -N

(2)查看多个文件
less 1.log 2.log
可以使用 n 查看下一个,使用 p 查看前一个

(4)head 命令:head 用来显示档案的开头至标准输出中,默认 head 命令打印其相应文件的开头 10 行。

常用参数: -n<行数> 显示的行数(行数为复数表示从最后向前数)

举例:

(1)显示 1.log 文件中前 20 行
head 1.log -n 20

(2)显示 1.log 文件前 20 字节
head -c 20 log2014.log

(3)显示 t.log最后 10 行
head -n -10 t.log

(5)tail命令:用于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理。常用查看日志文件。

常用参数:
-n<行数> 显示行数
-f 循环读取

举例:
(1)循环读取逐渐增加的文件内容
ping 127.0.0.1 > ping.log &

(2)后台运行:可使用 jobs -l 查看,也可使用 fg 将其移到前台运行。
tail -f ping.log
(查看日志)

5、文件操作
(1)复制命令cp
命令格式: cp 【参数】<文件><目标文件>或者cp -r<文件夹><目标文件夹>

意义:cp是copy 的缩写。用于复制文件或文件夹。

参数说明:
-r或--recursive   递归处理,将指定目录下的文件与子目录一并处理

 -b  覆盖文件时,可以将源文件做一个备份
示例:
(1)复制目录
cp /data/logs /data/local/tmp/logs 复制/data路径下的logs到/data/local/tmp路径下。

cp 1.sh /sdcard/ 复制当前路径下的1.sh到/sdcard下。

cp  -r  ./a  ./b  把a目录下的内容复制到b目录下

(2)复制文件
cp -b  1.txt  2.txt  :如果覆盖文件时,可以将源文件做一个备份

cp  ./1.txt   ../   :将当前目录下的1.txt复制到父级目录

cp  /root/1.txt   /bin/2.txt   :将/root下的1.txt文件复制到根目录下的bin目录下的2.txt中

(2)移动命令:mv
mv(move)功能:移动或更名现有的文件或目录

语法:mv [源文件或目录][目标文件或目录]

-f 或 --force 若目标文件或目录与现有的文件目录重复,则直接覆盖现有的文件或目录

举例:

剪切文件:mv    ./1.txt    /root    将当前目录下的1.txt文件 剪切到root目录下

重命名文件:mv  ./1.txt   ./2.txt      将当前目录下的1.txt文件重命名为2.txt

(3)删除命令:rm
rm功能:删除文件或目录

语法:rm [-dfirv][–help][–version][文件或目录…]

-f 或 --force   强制删除文件或目录

-r 或 -R 或 --recursive   递归处理,将指定目录下的所有文件及子目录一并处理
举例:

强制删除文件:rm   -f   ./1.txt      

强制删除目录:rm   -rf   ./a    

rm -rf path 删除path

rm test.txt 删除test.txt

删除目录:rmdir
从一个目录中删除一个或多个子目录项,删除某目录时也必须具有对其父目录的写权限。

注意:不能删除非空目录

实例:

当 parent 子目录被删除后使它也成为空目录的话,则顺便一并删除parent目录:

rmdir -p parent/child/child11

(4)查找命令:find
find功能:查找文件或目录

语法:find[目录…][参数]

-name 按照文件名查找文件
-perm 按文件权限查找文件
-user 按文件属主查找文件
-group  按照文件所属的组来查找文件。
-type  查找某一类型的文件,诸如:
   b - 块设备文件
   d - 目录
   c - 字符设备文件
   l - 符号链接文件
   p - 管道文件
   f - 普通文件

-size n :[c] 查找文件长度为n块文件,带有c时表文件字节大小
-amin n   查找系统中最后N分钟访问的文件
-atime n  查找系统中最后n*24小时访问的文件
-cmin n   查找系统中最后N分钟被改变文件状态的文件
-ctime n  查找系统中最后n*24小时被改变文件状态的文件
-mmin n   查找系统中最后N分钟被改变文件数据的文件
-mtime n  查找系统中最后n*24小时被改变文件数据的文件
(用减号-来限定更改时间在距今n日以内的文件,而用加号+来限定更改时间在距今n日以前的文件。 )
-maxdepth n 最大查找目录深度
-prune 选项来指出需要忽略的目录。在使用-prune选项时要当心,因为如果你同时使用了-depth选项,那么-prune选项就会被find命令忽略
-newer 如果希望查找更改时间比某个文件新但比另一个文件旧的所有文件,可以使用-newer选项
举例:

find  /root/  -name  'test*'   查找root目录下的文件开头是test的文件和文件夹,*是通配符 。注意字符串要用单引号引起来。

find  /root/  -name  '*test'   文件名中结尾是test的文件或文件夹

find  /root/  -name  '*test*'  文件名中含有test的文件或文件夹

(1)查找 48 小时内修改过的文件
find -atime -2

(2)在当前目录查找 以 .log 结尾的文件。 . 代表当前目录
find ./ -name '*.log'

(3)查找 /opt 目录下 权限为 777 的文件
find /opt -perm 777

(4)查找大于 1K 的文件
find -size +1000c

(5)查找文件:which 命令
在 linux 要查找某个文件,但不知道放在哪里了,可以使用下面的一些命令来搜索:

which     查看可执行文件的位置。
whereis 查看文件的位置。
locate    配合数据库查看文件位置。
find        实际搜寻硬盘查询文件名称。
实例:

(1)查看 ls 命令是否存在
which ls

(2)查看 which命令是否存在
which which

(6)whereis 命令
whereis 命令只能用于程序名的搜索,而且只搜索二进制文件(参数-b)、man说明文件(参数-m)和源代码文件(参数-s)。如果省略参数,则返回所有信息。whereis 及 locate 都是基于系统内建的数据库进行搜索,因此效率很高,而find则是遍历硬盘查找文件。

常用参数:

-b   定位可执行文件。
-m   定位帮助文件。
-s   定位源代码文件。
-u   搜索默认路径下除可执行文件、源代码文件、帮助文件以外的其它文件。
实例:

(1)查找 locate 程序相关文件
whereis locate

(2)查找 locate 的源码文件
whereis -s locate

(7)locate 命令
locate 通过搜寻系统内建文档数据库达到快速找到档案,数据库由 updatedb 程序来更新

常用参数:

-l num(要显示的行数)
-f   将特定的档案系统排除在外,如将proc排除在外
-r   使用正则运算式做为寻找条件
	
实例:
(1)查找和 pwd 相关的所有文件(文件名中包含 pwd)
locate pwd

(2)搜索 etc 目录下所有以 sh 开头的文件
locate /etc/sh

6、更改文件权限
(1)chmod 命令 用于改变 linux 系统文件或目录的访问权限。

常用参数:

-c 当发生改变时,报告处理信息
-R 处理指定目录以及其子目录下所有文件

权限范围:
u:User  即文件或目录的拥有者
g:Group 即文件或目录的所属群组
o:Other  除了文件或目录拥有者或所属群组之外,其他用户皆属于这个范围
a:All        即全部的用户,包含拥有者,所属群组及其他用户
--符号

+ 添加权限
- 取消权限
权限代号:

r :读权限,用数字4表示
w :写权限,用数字2表示
x :执行权限,用数字1表示
- :删除权限,用数字0表示
s :特殊权限

777 :所有权限
[]:3=1+2(wx)   5=4+1(rx)
实例:

chmod    u-rwx   xxx    取消xxx目录的用户“读写执行”权限
chmod    g-rwx   xxx    取消xxx目录的组“读写执行”权限
chmod    777      xxx    给xxx目录添加所有权限   
   
(1)增加文件 t.log 所有用户可执行权限
chmod a+x t.log

(2)撤销原来所有的权限,然后使拥有者具有可读权限,并输出处理信息
chmod u=r t.log -c

(3)给 file 的属主分配读、写、执行(7)的权限,给file的所在组分配读、执行(5)的权限,给其他用户分配执行(1)的权限
chmod 751 t.log -c(或者:chmod u=rwx,g=rx,o=x t.log -c)

在这里插入图片描述

(2)chown 命令 chown 将指定文件的拥有者改为指定的用户或组,用户可以是用户名或者用户 ID

变权限的文件列表,支持通配符。

-c 显示更改的部分的信息
-R 处理指定目录及子目录
实例:

(1)改变拥有者和群组 并显示改变信息
chown -c mail:mail log2012.log

(2)改变文件群组
chown -c :mail t.log

(3)改变文件夹及子文件目录属主及属组为 mail
chown -cR mail: test/

7、显示磁盘空间大小
(1)df 命令 显示磁盘空间使用情况。获取硬盘被占用了多少空间,目前还剩下多少空间等信息

参数:
	-a 全部文件系统列表
	-h 以方便阅读的方式显示信息
	-i 显示inode信息
	-k 区块为1024字节
	-l 只显示本地磁盘
	-T 列出文件系统类型
实例:

(1)显示磁盘使用情况
df -l

(2)以易读方式列出所有文件系统及其类型
df -haT

(2)du 命令 du 命令也是查看使用空间的,但是与 df 命令不同的是 Linux du 命令是对文件和目录磁盘使用的空间的查看:

命令格式:

du [选项] [文件]
常用参数:

-a 显示目录中所有文件大小
-k 以KB为单位显示文件大小
-m 以MB为单位显示文件大小
-g 以GB为单位显示文件大小
-h 以易读方式显示文件大小
-s 仅显示总计
-c或--total  除了显示个别目录或文件的大小外,同时也显示所有目录或文件的总和
实例:

(1)以易读方式显示文件夹内及子文件夹大小
du -h scf/

(2)以易读方式显示文件夹内所有文件大小
du -ah scf/

(3)显示几个文件或目录各自占用磁盘空间的大小,还统计它们的总和
du -hc test/ scf/

(3)free 命令 显示系统内存使用情况,包括物理内存、交互区内存(swap)和内核缓冲区内存。

命令参数:

-b 以Byte显示内存使用情况
-k 以kb为单位显示内存使用情况
-m 以mb为单位显示内存使用情况
-g 以gb为单位显示内存使用情况
-s<间隔秒数> 持续显示内存
-t 显示内存使用总合
实例:

(1)显示内存使用情况
free
free -k
free -m

(2)以总和的形式显示内存的使用信息
free -t

(3)周期性查询内存使用情况
free -s 10

(4)wc 命令 wc(word count)功能为统计指定的文件中字节数、字数、行数,并将统计结果输出

命令格式:

wc [option] file..
命令参数:

-c 统计字节数
-l 统计行数
-m 统计字符数
-w 统计词数,一个字被定义为由空白、跳格或换行字符分隔的字符串
实例:

(1)查找文件的 行数 单词数 字节数 文件名
wc text.txt

结果:
7     8     70     test.txt

7、进程状态
(1)ps 命令 ps(process status),用来查看当前运行的进程状态,一次性查看,如果需要动态连续结果使用 top

linux上进程有5种状态:

1. 运行(正在运行或在运行队列中等待)
2. 中断(休眠中, 受阻, 在等待某个条件的形成或接受到信号)
3. 不可中断(收到信号不唤醒和不可运行, 进程必须等待直到有中断发生)
4. 僵死(进程已终止, 但进程描述符存在, 直到父进程调用wait4()系统调用后释放)
5. 停止(进程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信号后停止运行运行)
ps 工具标识进程的5种状态码:

D 不可中断 uninterruptible sleep (usually IO)
R 运行 runnable (on run queue)
S 中断 sleeping
T 停止 traced or stopped
Z 僵死 a defunct (”zombie”) process
命令参数:

-A 显示所有进程
a 显示所有进程
-a 显示同一终端下所有进程
c 显示进程真实名称
e 显示环境变量
f 显示进程间的关系
r 显示当前终端运行的进程
-aux 显示所有包含其它使用的进程
实例:

(1)显示当前所有进程环境变量及进程间关系
ps -ef

(2)显示当前所有进程
ps -A

(2)kill 命令 发送指定的信号到相应进程。不指定型号将发送SIGTERM(15)终止指定进程。

常用参数:

-l  信号,若果不加信号的编号参数,则使用“-l”参数会列出全部的信号名称
-a  当处理当前进程时,不限制命令名和进程号的对应关系
-p  指定kill 命令只打印相关进程的进程号,而不发送任何信号
-s  指定发送信号
-u  指定用户
实例:

(1)先使用ps查找进程pro1,然后用kill杀掉
kill -9 $(ps -ef | grep pro1)

(3)ifconfig命令
功能:显示网络设备

格式:ping  主机名(网络设备号)或ip地址    (按ctrl+c停止ping)

(4)关机 重启

Linux centos 重启命令:reboot

Linux centos 关机命令:halt

8、日期命令
(1)date 命令
显示或设定系统的日期与时间。

命令参数:

-d<字符串>  显示字符串所指的日期与时间。字符串前后必须加上双引号。
-s<字符串>  根据字符串来设置日期与时间。字符串前后必须加上双引号。
-u  显示GMT。
%H 小时(00-23)
%I 小时(00-12)
%M 分钟(以00-59来表示)
%s 总秒数。起算时间为1970-01-01 00:00:00 UTC。
%S 秒(以本地的惯用法来表示)
%a 星期的缩写。
%A 星期的完整名称。
%d 日期(以01-31来表示)%D 日期(含年月日)%m 月份(以01-12来表示)%y 年份(以00-99来表示)%Y 年份(以四位数来表示)
实例:

(1)显示下一天
date +%Y%m%d --date="+1 day"  //显示下一天的日期

(2)-d参数使用
date -d "nov 22"  今年的 11 月 22 日是星期三
date -d '2 weeks' 2周后的日期
date -d 'next monday' (下周一的日期)
date -d next-day +%Y%m%d(明天的日期)或者:date -d tomorrow +%Y%m%d
date -d last-day +%Y%m%d(昨天的日期) 或者:date -d yesterday +%Y%m%d
date -d last-month +%Y%m(上个月是几月)
date -d next-month +%Y%m(下个月是几月)

(2)cal 命令
可以用户显示公历(阳历)日历如只有一个参数,则表示年份(1-9999),如有两个参数,则表示月份和年份:

常用参数:

-3 显示前一月,当前月,后一月三个月的日历
-m 显示星期一为第一列
-j 显示在当前年第几天
-y [year]显示当前年[year]份的日历
实例:

(1)显示指定年月日期
cal 9 2012

(2)显示2013年每个月日历
cal -y 2013

(3)将星期一做为第一列,显示前中后三月
cal -3m

9、正则表达式

grep 命令

强大的文本搜索命令,grep(Global Regular Expression Print) 全局正则表达式搜索。

常用参数:

-A n --after-context显示匹配字符后n行
-B n --before-context显示匹配字符前n行
-C n --context 显示匹配字符前后n行
-c --count 计算符合样式的列数
-i 忽略大小写
-l 只列出文件内容符合指定的样式的文件名称
-f 从文件中读取关键词
-n 显示匹配内容的所在文件中行数
-R 递归查找文件夹
grep 的规则表达式:

^  #锚定行的开始 如:'^grep'匹配所有以grep开头的行。 
$  #锚定行的结束 如:'grep$'匹配所有以grep结尾的行。 
.  #匹配一个非换行符的字符 如:'gr.p'匹配gr后接一个任意字符,然后是p。  
*  #匹配零个或多个先前字符 如:'*grep'匹配所有一个或多个空格后紧跟grep的行。
.*   #一起用代表任意字符。  
[]   #匹配一个指定范围内的字符,如'[Gg]rep'匹配Grep和grep。 
[^]  #匹配一个不在指定范围内的字符,如:'[^A-FH-Z]rep'匹配不包含A-R和T-Z的一个字母开头,紧跟rep的行。  
\(..\)  #标记匹配字符,如'\(love\)',love被标记为1。   
\<      #锚定单词的开始,如:'\<grep'匹配包含以grep开头的单词的行。
\>      #锚定单词的结束,如'grep\>'匹配包含以grep结尾的单词的行。
x\{m\}  #重复字符x,m次,如:'0\{5\}'匹配包含5个o的行。 
x\{m,\}  #重复字符x,至少m次,如:'o\{5,\}'匹配至少有5个o的行。  
x\{m,n\}  #重复字符x,至少m次,不多于n次,如:'o\{5,10\}'匹配5--10个o的行。  
\w    #匹配文字和数字字符,也就是[A-Za-z0-9],如:'G\w*p'匹配以G后跟零个或多个文字或数字字符,然后是p。  
\W    #\w的反置形式,匹配一个或多个非单词字符,如点号句号等。  
\b    #单词锁定符,如: '\bgrep\b'只匹配grep。
举例:
(1)查找指定进程

ps -ef | grep svn
(2)查找指定进程个数

ps -ef | grep svn -c
(3)从文件中读取关键词

cat test1.txt | grep -f key.log
(4)从文件夹中递归查找以grep开头的行,并只列出文件

grep -lR '^grep' /tmp
(5)查找非x开关的行内容

grep '^[^x]' test.txt

10、链接命令
功能是为文件在另外一个位置建立一个同步的链接,当在不同目录需要该问题时,就不需要为每一个目录创建同样的文件,通过 ln 创建的链接(link)减少磁盘占用量。

链接分类:软件链接及硬链接

软链接:

1.软链接,以路径的形式存在。类似于Windows操作系统中的快捷方式
2.软链接可以 跨文件系统 ,硬链接不可以
3.软链接可以对一个不存在的文件名进行链接
4.软链接可以对目录进行链接

硬链接:

1.硬链接,以文件副本的形式存在。但不占用实际空间。
2.不允许给目录创建硬链接
3.硬链接只有在同一个文件系统中才能创建
常用参数:

-b 删除,覆盖以前建立的链接
-s 软链接(符号链接)
-v 显示详细处理过程
实例:

(1)给文件创建软链接,并显示操作信息
ln -sv source.log link.log

(2)给文件创建硬链接,并显示操作信息
ln -v source.log link1.log

11、备份压缩
tar命令:文件备份压缩

格式:tar      参数       压缩后的文件名      被压缩的文件名

tar      参数       被解压的文件名      -C  指定目录            (如果省略 -C 指定目录,则解压到当前文件夹)
-c 建立一个压缩文件的参数指令(create)--压缩

-x 解开一个压缩文件的参数指令(extract)--解压

-z 是否需要用gzip压缩

-v 压缩的过程中显示文件(verbose)

-f 使用档名,在f之后要立即接档名(file)

常用解压参数组合:zxvf

常用压缩参数组合:zcvf
举例:

tar  -zcvf  /root/1.tar   /root/a     将root目录下的a文件夹压缩成1.tar,放在root目录下。

tar  -zxvf  ./1.tar        将当前目录下的1.tar文件解压缩

[]:如果后缀名为.tar.gz的压缩包用-zxvf   如果后缀名为.tar的压缩包用-xvf

12、vim文档编辑

vi或vim命令

基本操作:

1.vim  文件名   :进入一般模式(不能输入)

2.按下 i 从一般模式,进入到插入模式

3.按下esc从插入模式,退出到一般模式

4.在一般模式下,输入:wq,退出编辑

在这里插入图片描述在这里插入图片描述

参考:
Linux常用命令
Linux常用命令学习详解
Linux常用命令整理

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值