Linux常用命令介绍

1.常用命令

which用于查看命令所在的路径,例如输入:

daniel@daniel-Vostro-5471:/dev$ which ls
/bin/ls

pwd 查看当前目录

mkdir [dir] 创建目录

rmdir [dir] 删除空目录

rm -r dir 使用递归删除目录

cp file file2 拷贝命令

​cp -a dir1 dir2 拷贝文件夹

cp -r dir1 dir2 递归拷贝

cat file 读文件

tac file 倒序读文件

more file 分屏读取大文件,使用空格进入下一屏,使用enter进入下一行

less file 上面两个命令可以分屏读取大文件

head [-5 ] file 显示默认前10行的内容,加参数显示前5行

tail [-5] file 显示后5行的内容

tree 显示文件树

du 显示磁盘大小

df 查看磁盘使用单位以M为单位

2.软硬连接

软连接:

ln -s file file.s 创建软连接(symbolic link),相当于windwos下的快捷方式,所以软链接是linux系统下7种文件格式的一种;

上述创建的软链接只能在固定目录下使用;如果想要在任何目录下使用,需要将file.s修改为绝对路径。

在软连接中实际存放的内容是 路径

硬连接:

ln file file.h 创建硬连接 硬连接计数会相应加1 另外硬连接更改,所有文件都更改;硬连接创建的文件有相同的Inode 节点

使用硬连接创建的文件,和之前的文件的INode是相同的;而使用软链接创建的文件,和之前的INode文件不同;所以从本质来说,硬链接的根本文件类型是 普通文件,并不是一种单独的文件类型。

操作系统会给每个文件分配一个唯一的Inode,当有相同的Inode文件存在时,彼此同步;删除时,只将硬连接计数减掉1,减为0时,inode被释放
whoami 查看当前用户

chmod 修改文件属性 chmod [option] file
文件有三种属性,分别是读,写和可执行,使用r(read),w(write)和x(excute)表示,对应的数字表示方法是使用421编码,即读是4,写是2,可执行是1,如果是多种属性的组合,则需要把对应的数字相加。

chown修改所有者和所属组 使用touch创建新文件,默认属于当前用户,当前路径
chown user file 将file更改权限

sudo adduser wangwu 增加用户
sudo addgroup name 增加用户
sudo chgrp groupName file 将file的组别分配到新组
sudo chown userName:groupName file 更改file的用户和组
sudo deluser userName
sudo delgroup groupName

3.文件查找与检索命令

find ./ -type ‘l’ 查找路径当前路径 寻找类型 软连接

linux 不使用文件后缀名区别文件,所有是使用文件类型区别,文件类型共有7种

d/p/s/c/b/l/f f代表以文件搜索

find ./ -name ‘*.txt’ 寻找当前目录下所有所有后缀名是.txt的文件

find -maxdepth 2 -name “*.jpg” 寻找两层 目录下的jpg文件

find ./ -size +20M -size -50M 按照文件大小去查找

kb用k代表,k用小写;MB用M代表,M用大写

如果默认大小,是用“块”为单位搜索的,块的大小是 512B,512字节

块,文件在磁盘存储中的最小单位;

-atime mtime ztime

atime 最近访问时间 -mtime 最近更改时间(文件属性被更改) -ztime最近改动时间(文件内容被更改)

帮助文档 man find;在帮助文档中寻找内容 /ctime 输入/关键字

find /usr/ -name “*tmp" -exec ls -l { } ; 找到名字带 tmp的文件,并交给ls -l执行,其中 { } 意为前面找到的文件 ; 转义,本义

find ./ -name “*tmp” -ok ls -l { } ; ok相当于高级的exec,有提示,输入y或者n作为执行操作或者不执行操作;

find查找是查找相应的文件,grep是查找文件内容

grep -r ‘copy’ ./ 找到现在目录中存在copy字符的内容,并且将整行内容输出到终端

grep -r ‘copy’ ./ -n -n选项,显示行号

ps 监控后台进程, 如果不添加选项,只显示当前和用户交互的进程

ps aux (a:all u:usr x:没有控制终端的进程)

ps aux| grep “kernel” 在后台进程中选取带有kernel字符的进程

ps aux | grep “abcdefg” 会显示一个进程,就是grep进程本身。也就是搜索结果只有一条时,说明操作系统中没有该名称的进程

管道负责单向连接前一个程序的标准输出与后一个程序的标准输入,其本质是一个共享文件。我们日常最常用到的管道是匿名管道,Shell中的管道符号为“|”。

daniel@daniel-Vostro-5488:~/文档/OS/test$ find ./ -type f | ls -l 
总用量 40
lrwxrwxrwx 1 daniel  daniel     5 5月   2 07:46 1 -> 1.txt
-rw-rw-r-- 1 daniel  daniel     0 5月   2 09:44 123.c
-rw-rw-r-- 1 daniel  daniel     0 5月   2 09:45 123txt
-rw-rw-r-- 1 daniel  daniel    72 5月   2 09:43 1.c
-rw-rw-r-- 1 daniel2 daniel    58 5月   2 07:45 1.txt
-rw-rw-r-- 3 daniel  daniel    63 5月   2 07:46 2
-rw-rw-r-- 3 daniel  daniel    63 5月   2 07:46 2.txt
-rw-rw-r-- 3 daniel  daniel    63 5月   2 07:46 3
-rwxrwxr-x 1 daniel  daniel 16696 5月   2 09:43 main
daniel@daniel-Vostro-5488:~/文档/OS/test$ find ./ -type f -exec ls -l {} \;
-rw-rw-r-- 1 daniel daniel 0 5月   2 09:45 ./123txt
-rw-rw-r-- 3 daniel daniel 63 5月   2 07:46 ./2.txt
-rw-rw-r-- 1 daniel daniel 0 5月   2 09:44 ./123.c
-rw-rw-r-- 3 daniel daniel 63 5月   2 07:46 ./2
-rw-rw-r-- 3 daniel daniel 63 5月   2 07:46 ./3
-rwxrwxr-x 1 daniel daniel 16696 5月   2 09:43 ./main
-rw-rw-r-- 1 daniel daniel 72 5月   2 09:43 ./1.c
-rw-rw-r-- 1 daniel2 daniel 58 5月   2 07:45 ./1.txt
daniel@daniel-Vostro-5488:~/文档/OS/test$ find ./ -type f | xargs ls -l
-rw-rw-r-- 1 daniel  daniel     0 5月   2 09:44 ./123.c
-rw-rw-r-- 1 daniel  daniel     0 5月   2 09:45 ./123txt
-rw-rw-r-- 1 daniel  daniel    72 5月   2 09:43 ./1.c
-rw-rw-r-- 1 daniel2 daniel    58 5月   2 07:45 ./1.txt
-rw-rw-r-- 3 daniel  daniel    63 5月   2 07:46 ./2
-rw-rw-r-- 3 daniel  daniel    63 5月   2 07:46 ./2.txt
-rw-rw-r-- 3 daniel  daniel    63 5月   2 07:46 ./3
-rwxrwxr-x 1 daniel  daniel 16696 5月   2 09:43 ./main

上述代码中,find后面添加管道,发现其并没有过滤作用;即 find ./ -type f | ls -l和 -ls l 的结果相同;(两者均把 1 这个软连接文件信息打印出来了,实际上find 的限制条件是普通文件)

但是使用管道之后,添加 xargs选项,可以发现结果中没有显示“1”这个软连接文件;

-exec 和|args的区别:(1)exec是一次性执行的;xargs是分片执行的;当结果过大时可以分片执行;(2)xargs默认是将所有结果用空格进行分割的,当比如创建了一个文件名中含有空格的文件,那个xargs将默认将这一个文件名修改成为两个文件名

touch “xyz 123” #创建了一个“xyz 123”文件,在内部输入文字;

find ./ -type f | xargs ls -l #会将xyz 123文件名拆解成 xyz和123两个文件名,然后同时查找,如果目录下没有xyz和123这两个文件,便会报错

修改拆分依据

find ./ -maxdepth 1 -type f -print0 | xargs -print0 ls -l

将默认的以空格分割删除掉,重新使用 print0分割

awk按照行开根 sed按照列开根
whoami 显示当前用户名字

ps ps aux ps aux|grep content

jobs 用来显示后台正在运行哪些作业(即后台作业)

fg 切换到前台

bg 切换到后台

kill pid 杀死进程(根据进程id)

env 查看当前进程的所有环境变量

top 任务管理器

sudo passwd username 设置用户密码

su userName 切换用户

sudo su 变成root用户

passwd 设置root用户

sudo userdel -r userName 删除用户

4.网络相关命令

ifconfig 查看网卡信息

sudo ifconfig eth0 down 关闭网卡

sudo ifconfig eth0 up 开启网卡eth0

sudo ifconfig eth0 IP 给eth0配置临时IP

ping ip(或者网址) 可以用于检测网址是否联通

netstat 查看网络状态

5.其它命令

man command(命令) 查看该命令的帮助手册

man man (掌握第1,2,3,5,9章)

man 3 printf 代表查看第三章的printf,即库调用函数(标准C库)

man 2 open 代表查看第二章的open函数,即系统调用函数;

clear 或者crtl + L 清屏

alias 可以用于给命令其别名,例如给ls命令显示的文件内容添加颜色,可以通过ls --color=auto实现,通过alias可以写成:

alias ls ‘ls --color=auto’ 相当于以ls --color=auto代替ls命令

输入 alias 可以查看所有目前已经修改别名的命令

umask 指定用户创建时的掩码;可以设定文件的操作权限;具体没听懂,刚创建的文件不具备执行能力;

在终端的统一个页面中增加标签,ctrl+shift+T,切换标签可以使用ATL+1 ATL+2 …
关机/重启命令大全:
poweroff 关机
shutdown 关机
reboot 重启

uname -a 内核版本

lsb_release -a 查看发行版信息

free -m 查看空闲内存

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值