Linux常用命令

mkdir

mkdir hello 在当前目录下创建一个名为/hello的目录

mkdir -p hello/hi 创建一个名为/hello的目录,并在目录下再创建一个名为/hi的目录

rm

-f 强制删除

-i 在删除前需要确认

-r 递归删除目录及其内容

-v 详细显示进行的步骤

rm -i test.txt              -删除test.txt文件,删除前需要确认

rm -rf id_photo          -强制删除id_photo目录及其以下包含所有子目录,不提示确认

rar,tar解压

rar: unrar e/x file.rar

tar: tar xvf model.tar.gz

sort 可针对文本文件的内容,以行为单位来排序。

-f 忽略大小写

-n 按照数值大小排序

-u 排序时去掉重复行

-r 倒序

ln 链接文件

软链接:当前目录为目标目录,ln -s 目标文件所在目录 。在磁盘中不占用内存空间。可以跨越磁盘分区,同时也可以对一个不存在的文件名进行链接,但直到这个名字对应的文件被创建后,才能打开其链接。与windows快捷方式相似。

硬链接:当前目录为目标目录,ln 目标文件所在目录。将生成完全相同的占用内存的文件。不可以跨越磁盘分区。

查看计算机配置

cat /proc/cpuinfo |grep name

查看内存 free -m


由结果了解到计算机内存为16G

查看挂载点的空间使用情况:df -h


Linux常用命令_第1张图片

由结果了解到硬盘(/dev/sda1)数量为1,容量为2T。

查看当前使用的网络端口 netstat

显示与 IP、TCP、UDP 和 ICMP 协议相关的统计数据,一般用于检验本机各端口的网络连接情况。

查看目录大小:du

du -a 显示目录以及子目录,文件的大小

du -s 只显示目录大小

du -h 为每个数附加一个表示大小单位的字母,如:用M表示二进制 的兆字节。

du -c 在处理完所有参数后给出所有这些参数的总计

查看进程状态:ps

ps -ef 用标准格式显示进程

ps aux 用BSD格式显示进程

超级用户su/sudo

su的用途是让用户暂时改变登入者的身份,变更时要输入所要变更用户的用户名和密码。例如切换到root超级用户,命令为$ su root 然后输入root用户密码即可。

有时,我们并不想切换用户,只是想临时使用一下root权限,就可以使用sudo命令。如 sudo gedit /etc/shadow,表示临时使用root权限来编辑/etc/shadow密码文件。

远程拷贝命令 scp/rsync ssh

如果机器之间可以相互ping通,就可以使用scp或者rsync -avzP命令进行本地或与远程主机间的文件或目录备份。

命令格式:

scp  本地文件的绝对路径/要复制到服务器上的本地文件 登录到远程服务器的用户@远程服务器的ip地址:将本地文件复制到位于远程服务器上的路径

例如:将本地的face_platform.tar.xz以用户yituadmin复制到ip为10.24.156.12的远程服务器的根目录下:

scp [email protected]:~/

可使用rsync -avzP命令代替scp,传输速度更快、更安全、占用带宽更少、权限越灵活。

ssh:ssh user@host 实现远程登录主机

ssh -p 2222 user@host SSH的默认端口是22,也就是说,你的登录请求会送进远程主机的22端口。使用p参数,可以修改这个端口。

chmod

用来修改某个目录或文件的访问权限。

eg: rw-r--r--

文件的权限是这样子分配的 读 写 可执行,分别对应的是 r(4)w(2) x(1)。如果没有那一个权限,用 - 代替,然后又分了三个类别的权限。分别是文件所有者有读和写的权限,文件所属组也有读的权限,然后其他用户只有读的权限.

chmod 777代表 文件所有者,文件所属组,其他用户均具有读,写,可执行的权限。

chmod 777 文件名 or 目录名/* 赋权限

chown 

用来更改某个目录或文件的用户名和用户组的

chown 用户名:组名 文件路径(可以是就对路径也可以是相对路径)

例1:chown root:root /tmp/tmp1

就是把tmp下的tmp1的用户名和用户组改成root和root(只修改了tmp1的属组).

例2:chown -R root:root /tmp/tmp1

就是把tmp下的tmp1下的所有文件的属组都改成root和root。

wc 统计文件的字节数、字数、行数

wc -l 文件名 查看文件有多少行

wc -c 文件名 统计字节数

wc -w 文件名 统计字数

wget

wget https://www.baidu.com/

wget -c https://www.baidu.com/ 当文件特别大或者网络特别慢的时候,往往一个文件还没有下载完,连接就已经被切断,此时就需要断点续传。wget的断点续传是自动的,只需要使用-c参数。

wget -i download.txt 如果有多个文件需要下载,那么可以生成一个文件,把每个文件的URL写一行,例如生成文件download.txt,

然后用命令wget -i 这样就会把download.txt里面列出的每个URL都下载下来。(如果列的是文件就下载文件,如果列的是网站,那么下载首页)

tail

tail 用于在屏幕上显示指定文件的末尾若干行

tail -f ./passwd  #参数-f使tail不停地去读最新的内容,因此有实时监视的效果,用Ctrl+c来终止

tail -n 2 /etc/passwd  #显示最后2行

tail /etc/passwd  #默认,显示最后10 行

vi 文本编译器

:set nu在命令模式下,用于在最左端显示行号;

:set nonu在命令模式下,用于在最左端不显示行号;

gg移动光标到文档首行;

G移动光标到文档尾行;

/字符串文本查找操作,用于从当前光标所在位置开始向文件尾部查找指定字符串的内容,查找的字符串会被加亮显示;

:s/root/test/g将光标所在行出现的root字符串替换为test

:%s/root/test/g将当前文件中所有root字符串替换为test

crontab

crontab -e 编辑定时任务

crontab -l 查看定时任务

m h dom mon dow command

分 时 日 月 周 执行命令

实例1:每1分钟执行一次myCommand

*****myCommand

实例2:每小时的第3和第15分钟执行

3,15****myCommand

实例3:在上午8点到11点的第3和第15分钟执行

3,158-11***myCommand

实例4:每隔两天的上午8点到11点的第3和第15分钟执行

3,158-11*/2**myCommand

实例5:每周一上午8点到11点的第3和第15分钟执行

3,158-11**1myCommand

实例6:每晚的21:30重启smb

3021***/etc/init.d/smbrestart

实例7:每月1、10、22日的4 : 45重启smb

4541,10,22**/etc/init.d/smbrestart

实例8:每周六、周日的1 : 10重启smb

101**6,0/etc/init.d/smbrestart

实例9:每天18 : 00至23 : 00之间每隔30分钟重启smb

0,3018-23***/etc/init.d/smbrestart

实例10:每星期六的晚上11 : 00 pm重启smb

023**6/etc/init.d/smbrestart

实例11:每一小时重启smb

**/1***/etc/init.d/smbrestart

实例12:晚上11点到早上7点之间,每隔一小时重启smb

023-7***/etc/init.d/smbrestart

重定向和管道符

我们知道,执行一个shell命令行时通常会自动打开三个标准文件,即标准输入文件(stdin 代码0,符号<或<<),通常对应终端的键盘;标准输出文件(stdout 代码1,符号>或>>)和标准错误输出文件(stderr 代码2,符号2>或2>>),这两个文件都对应终端的屏幕。

重定向:

输入重定向:是指把命令(或可执行程序)的标准输入重定向到指定的文件中。也就是说,输入可以不来自键盘,而来自一个指定的文件。

输出重定向(>):是指把命令(或可执行程序)的标准输出或标准错误输出重新定向到指定文件中。这样,该命令的输出就不显示在屏幕上,而是写入到指定文件中。

追加重定向(>>):与输出重定向的功能非常相似, 区别仅在于输出追加重定向的功能是把命令(或可执行程序)的输出结果追加到指定文件的最后,而该文件原有内容不被破坏。

&&:前面成功,则执行后面一条,否则,不执行

||:前面失败,则后一条执行

ls *.txt && echo suss! || echo failed

将标准输出和标准错误重定向到同一文件

ls  proc/*.c > list 2> &l  与 ls proc/*.c&>list等价

清空文件 :>a.txt

管道:

将一个程序或命令的输出作为另一个程序或命令的输入

cat a.txt | grep "hello"

xargs

xargs 能够将输入数据转化为特定命令的命令行参数

将多行输出转化为单行输出

cat file.txt | xargs

将单行转化为多行输出

cat single.txt | xargs -n 3

unqi

消除重复行

sort unsort.txt | uniq

统计各行在文件中出现的次数

sort unsort.txt | uniq-c

找出重复行

sort unsort.txt | uniq-d

find

找出后缀名为.txt的文件

find . \( -name "*.txt" \)

找出后缀名不是.txt的文件

find . ! -name "*.txt" -print

指定搜索深度,打印出当前目录的文件(深度为1):

find.-maxdepth1-typef

tr

echo "HELLO WORLD" | tr 'A-Z' 'a-z' 

hello world

字符串替换

cat test.txt| tr 'hello' 'hey '

用tr压缩字符,可以压缩输入中重复的字符:

echo "thissss is a text linnnnnnne." | tr -s 'sn'

this is a text line

cut

去除文件的指定列

cut -f2,4 filename

去除文件除第三列的所有列

cut 取的单位:

-b 以字节为单位

-c 以字符为单位

-f 以字段为单位(使用定界符)

paste

paste file1 file2

查看CPU

sar -u 1 2

后面的两个参数表示监控的频率,比如例子中的1和2,表示每秒采样一次,总共采样2次;

查看内存

free -m

查看硬盘使用情况

df -h

man 命令

linux内部存储着一部使用手册,权限是所有用户,以供用户在终端查找。

man  获取指定命令的帮助

man -f (要查找的命令)等同于whatis 查看命令拥有哪个级别的帮助

man 命令等级号 要查找的命令

例如:$ man -f grep 

grep (1)            - print lines matching a pattern

$man 1 grep

即可找到。

man -k (要查找的命令)等同于apropos命令

你可能感兴趣的:(Linux常用命令)