Linux(1)常用命令

帮助命令

  • man {命令名字}
  • help / {命令名字} -h

基础命令

1 ls

ls -l 查询目录,能显示目录下的内容列表

[root@yr ~]# ls -l
total 68
-rw------- 1 root root  1358 Jan  8 14:20 anaconda-ks.cfg
drwxr-xr-x 2 root root  4096 Jan  8 16:10 d01
drwxr-xr-x 2 root root  4096 Jan  8 14:22 Desktop
-rw-r--r-- 1 root root 38879 Jan  8 14:20 install.log
-rw-r--r-- 1 root root  3672 Jan  8 14:20 install.log.syslog
#            用户 组名 文件大小(字节,kb)文件最后修改时间 文件名

-rw-r–r-- 第一个字符 -代表的是文件
drwx----- d是director目录 x是可以执行

ls -a 可以显示出所有的目录及文件,包括隐藏文件
ls -la 显示隐藏文件的详细信息
ls -lk 以KB(千字节)为单位显示文件大小

有l才能展示更全的信息
ls -t 把输出的文件按时间排序
ls -lta 所有的文件详细显示并且按时间排序(lta三个字母的顺序随意

-r 文件名反序输出
-s 显示文件大小(以区块为单位)

2 cd (change directory)

cd 进入用户主目录、宿主目录、家目录(用户登录后默认登陆的用户)
cd ~ 切换到当前用户的家目录

[root@yr ~]# cd /var

cd - 返回进入此目录之前所在的目录

[root@yr var]# cd ..

cd … 返回上级目录

[root@yr /]# cd -

cd …/… 返回上两级 cd …/…/… 三级 /var
这里的/是分隔的意思

[root@yr var]#

-普通文件
d 目录文件
l link链接
c 字符设备
b 块设备

3 重要目录

根目录(/)是linux系统启动时系统第一个载入的区。/root是root用户的宿主目录,启动中用到的文件都在这里,其中/etc /bin /dev /lib /sbin这5个子目录都与根目录连在一起。

pwd命令: 查看当前所在目录

进入到根目录:

[root@yr ~]# cd /
  • /bin 存放所有用户都能使用的Linux基本操作命令
  • /dev 设备文件目录,虚拟文件系统,系统中的device相关信息。设备文件分为字符设备文件和块设备文件两种。
  • /home 存放除了root用户以外的宿主目录
  • /proc 虚拟文件系统,是kenel加载后,在内存里面建立的一个虚拟目录

作用:整理系统内部信息、存放主机硬件信息、调整系统执行是的参数、检查及修改网络和主机的参数、检查及调整系统的内存和性能

  • 查看配置文件信息 cat /proc/meminfo
    不能直接cat,一定要写清楚cat谁,不然计算机会傻掉,用Ctrl+c让计算机恢复清醒
  • 查看CPU信息 cat /proc/cpuinfo
  • 读取配置文件 ls -l/etc/hosts
  • /usr:Linux系统上安装的应用程序默认安装在这里
  • /usr/bin:一般用户有机会使用到的程序,或者软件默认就是要让所有用户使用才会放在该目录中
  • /usr/sbin:一些系统有可能用到的系统命令,一些较次要的文件
  • /usr/etc:自行安装或非系统主要的配置文件目录
  • /etc:主机、系统或网络配置文件存放目录
  • /tmp:存放临时文件
  • /var:动态文件或数据存放目录,默认日志文件都存放在这个目录下

在cmd里,ping:IP地址,可以查询虚拟机和Linux是否连接上

4 绝对路径和相对路径
[root@yr var]# cd /                 #进入到根目录
[root@yr /]# cd home   

[root@yr /]#说明在根目录, [root@yr home]#说明在家目录

  • 相对路径:(退出再进)
[root@yr home]# cd .. 				#返回上级目录                                          
[root@yr /]# cd etc               
  • 绝对路径:(直接进)
[root@yr home]# cd /etc
[root@yr etc]#  

pwd是输出当前工作目录 很重要!经常用!

5 创建目录
  • mkdir是创建一个目录
  • mkdir -p是创建一串
[root@yr ~]# mkdir -p d03/c03/c04
[root@yr ~]# cd d03
[root@yr d03]# cd c03
[root@yr c03]# cd c04
[root@yr c04]# pwd
/root/d03/c03/c04

[root@yr c04]# rm -f c04
[root@yr c04]# cd ..
[root@yr c03]# cd c04
[root@yr c04]# rm c03
rm: cannot lstat `c03': No such file or directory
[root@yr c04]# pwd
/root/d03/c03/c04

本身在c04里就只能删c04内部的文件或目录!!想删掉c04只能从它的上一级操作!!!一定要注意,一级管一级,和我是谁我在哪,才能知道我要干什么

6 创建文件
6.1 touch用来创建文件file01:
[root@yr c03]# touch file01                       
[root@yr c03]# ls -l
total 0
-rw-r--r-- 1 root root 0 Jan  8 19:03 file01 大小是0是因为这个文件是空的
[root@yr c03]# cat file01 用cat查看

添加多个文件 例如添加 a11 a12 a13 a14 a15可以用touch a1{1…5}

6.2 通过vi编辑器创建

vi是文本编辑器,可以直接编辑,编辑后看是否保存:

[root@yr c03]# vi file02

编辑完后点Esc
:wq 保存并退出
:q 是直接退出

7 删除

rm 删除会问是否要删除?

[root@yr c03]# rm file02
rm: remove regular file `file02'? yes

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

[root@yr c03]# rm -f file01
[root@yr c03]# cd ../..

rm -rf 删除目录

[root@yr c03]# rm -f c04
rm: cannot remove `c04': Is a directory
[root@yr c03]# ls
c04
[root@yr c03]# rm -rf c04
[root@yr c03]# ls
[root@yr c03]#

rm -rf d0* 删除所有d0开头的

[root@yr ~]# rm -rf d0*
8 移动

d02 d03
a c03
b e03
c

把d02的a移动到d03:

  • 相对路径:
[root@yr d01]# mv a ../d03
  • 绝对路径:
[root@yr d01]# mv b /root/d03/

把c挪到d03并改名为d:

mv c ../d03/d

把d03下的c03挪到d02并改名为c02:

mv /root/d03/c03 /root/d02/c02
9 cp 复制
[root@yr d03]# cp -rf c03 c04  

复制目录c03到当前目录下并重命名为c04
默认情况下目录不能通过cp命令直接复制,需要使用-r选项

cp * /root/d04 

把当前目录下所有文件复制到d04

scp file_name user@IP:/root/xxx(Path) 

把文件复制到远程用户下

10 查看

more:一页一页看,按回车下一行,按空格下一页,退出时按q
more /proc.cpuinfo :左下角是0%,是因为它处于一个未知的状态,并不知道有多长,所以是0%
cat:全部可以输出
head:查看指定文件的前十行(只输出十行)
head -20 install.log 显示前20行
tail:看后十行
tail -f 查看一些系统在写的不断变化的日志文件
ls -l丨wc -l:统计有多少行(显示数-1是真实行数) 先执行前面的命令,再执行后面的命令
看cpuinfo有几行数据:

[root@yr /]# wc -l /proc/cpuinfo
19 /proc/cpuinfo

wc -l 查看指定文件的行数
wc -c 查看字符
wc -w 统计单词

11 追加

#echo abcdef>>a.txt
将abcdef追加到a.txt文件末尾
往文件中写入内容,比如原来的a.txt文件内容是aaaaa,现在就变成了aaaaaabcdef
#echo bbbbb>a.txt
这个是bbbbb把a.txt原来的内容替换
这里注意 >是覆盖,>>是追加。

[root@yr d01]# touch b
[root@yr d01]# echo "hello" >b
[root@yr d01]# cat b
hello
[root@yr d01]# echo "world" >>b
[root@yr d01]# cat b
hello
world
[root@yr d01]# echo "hahaha" >b
[root@yr d01]# cat b
hahaha

cat /proc/cpuinfo > …/test1/0.txt
查看/proc/cpuinfo文件内容,并将信息追加至0.txt文件中

/目录 、/home目录 、~目录的区别

/ :根目录
cd / : 从任何用户执行该命令都会进入同一个目录,即所有用户共享,其下文件如图
/home :家目录(我觉得还不如叫用户列表目录)
cd /home :会显示这台机器的用户,如图,所以我认为与其叫什么家目录,不如说是用户目录

~ :当前用户的家目录
一般普通用户的家目录是/home/用户名。root用户的家目录是/root
1.在imooc用户下登录:
cd ~ 等价于 cd /home/imooc :会进入当前用户的家目录(一般情况连接上机器都是在这个目录,一般操作也都是在这里)
[root@yr home]# su - user01
[user01@yr ~]$ pwd
/home/user01
2.在root下登录:
cd ~ 等价于 cd /root

* hostname 查看主机名
* uname -a 查看版本信息 
* uname -r  查看内核信息
* lsb_release -a 查看操作系统版本信息
* /proc/cpuinfo 查看系统CPU信息      

MemTotal 内存 MemFree 空余内存 Buffers Cached SwapCached 虚拟内存(把硬盘上的一部分空间当内存使用,以牺牲速度来存储)SwapTotal SwapFree
* /proc/meminfo 查看内存信息

eth0 网卡名字
* ifconfig 查看网络信息
* date 查看系统时间
* df -h 查看磁盘信息,系统磁盘使用情况

所有的磁盘都在/dev下 1./dev/sda/ system安装在这里 2./dev/sdb/ 加一块盘 3./dev/sdc/ 以此类推不同于Windows:tmp etc boot都在根目录下,是同级,但boot的存储空间是独立的。相当于windows的tmp etc存在了C盘,boot存在D盘。boot在根目录下,但不存在根的存储空间下。boot和根用不同的磁盘设备存储。*看路径,每个路径下的存储空间不同如果/boot下已经存满了99M,/tmp还能存储吗?可以,因为/tmp是在/下的,不在/boot下,所以不受影响,还能再存**Linux的磁盘分为fdisk和LVM两种。
* df -m 也是查看磁盘信息,所有磁盘的大小以MB的形式显示(有些机器不支持-h)

* ps -ef 查看操作系统下面所有运行的进程信息

*杀进程是 kill -9 【进程号】来关掉进程
* du -sh {文件或目录的名字} 查看文件或目录的大小
* who am i 显示目前登录系统的用户信息

[root@yr d01]# who am iroot pts/2 2019-01-09 12:04 (192.168.233.1)显示的是:【用户】【session的名字(pts/2)】 【登录时间(网关)】如果是一个用户,通过session的名字来区分
* whoami 显示的只有【用户】
* who 是整个操作系统级别,显示都有谁连接上了,跟在那个窗口下查是无关的
* w 显示所有连接到操作系统上的用户信息,并显示用户正在执行的指令(一般用于看用户进程)

2.关机命令
* shutdown 关机
* reboot 操作系统重启命令
* shutdown -r now 关机后立即重启,r是reboot
* shutdown -h now 关机后不重启
* shutdown -r +10 十分钟后重启
* shutdown -r 10:00 10点钟重启
* shutdown -h +10 十分钟关机
* poweroff 关闭计算机系统后,还会发送指令通知电源。最后切断电源供应。(通过poweroff相对暴力,因为其他方式关机后,主板依然处于通电状态)

3.通配符
* *    匹配0个或多个字符

显示包含“log”的所有文件:[root@yr ~]# ls -l log-rw-r–r-- 1 root root 38879 Jan 9 2019 install.log-rw-r–r-- 1 root root 3672 Jan 9 2019 install.log.syslog[root@yr ~]# ll *.log ll是ls -l的缩写-rw-r–r-- 1 root root 38879 Jan 9 2019 install.log[root@yr dev]# ll a1-rw-r–r-- 1 root root 0 Jan 9 14:31 a1-rw-r–r-- 1 root root 0 Jan 9 14:30 a10-rw-r–r-- 1 root root 0 Jan 9 14:30 a11
* ? 匹配任意一个字符

[root@yr dev]# ll a??-rw-r–r-- 1 root root 0 Jan 9 14:29 a01-rw-r–r-- 1 root root 0 Jan 9 14:29 a02-rw-r–r-- 1 root root 0 Jan 9 14:29 a03-rw-r–r-- 1 root root 0 Jan 9 14:30 a10-rw-r–r-- 1 root root 0 Jan 9 14:30 a11[root@yr dev]# ll a?-rw-r–r-- 1 root root 0 Jan 9 14:31 a1[root@yr dev]# ll a?0-rw-r–r-- 1 root root 0 Jan 9 14:30 a10
* [list] 匹配list中任意单一字符

[root@yr dev]# ll a1[012]-rw-r–r-- 1 root root 0 Jan 9 14:30 a10-rw-r–r-- 1 root root 0 Jan 9 14:30 a11[root@yr d01]# ll [bc]10-rw-r–r-- 1 root root 0 Jan 9 14:37 b10-rw-r–r-- 1 root root 0 Jan 9 14:37 c10
* [!list] 或 [^list] 匹配除了list中的任意单一字符

[root@yr d01]# ll [!bc]10-rw-r–r-- 1 root root 0 Jan 9 14:37 a10
* [c1-c2] 匹配c1-c2中的任意单一字符,如[0-9] [a-z]

[root@yr d01]# ll a1[1-4]-rw-r–r-- 1 root root 0 Jan 9 14:37 a11-rw-r–r-- 1 root root 0 Jan 9 14:37 a12-rw-r–r-- 1 root root 0 Jan 9 14:37 a13*如果是2位就2个[]
* [!c1-c2] 或 [^c1-c2] 匹配不在c1-c2的任意字符
* {string1,string2,…} 匹配string1或string2(或更多)的字符串

如a{abc,xyz,123}列出aabcb,axyzb,a123b

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值