Linux 常用命令

Linux 常用命令

关键词: shell shell脚本

Linux中命令有上千条,只记录了部分使用过的命令。要善于使用man
查询命令和命令的使用方式。

这里只整理了一部分,而且比较乱,个人的笔记。

主要内容:

  • linux 基础命令

文档参考:

最新地址:
https://taotaodiy-linux.readthedocs.io/en/latest/linux/shell/command.html

常用命令

这里介绍一些常用命令的基本用法

命令格式 
    命令 [-选项] [参数]  []表示可以选择
    选项:选择命令的功能
    参数:命令操作的对象

cd

man cd
描述:切换目录
常用参数:
直接用 cd [目录]

示例: 切换到taotaodiy目录下

cd /home/taotaodiy/
cd ./home/taotaodiy/

切换到taotaodiy用户目录下

cd ~taotaodiy

切换回用户主目录

cd
cd ~

切换文件夹,两次table查看该文件夹下文件

cd /home/  + 两次table

切换回根目录

cd /

切换上一层目录

cd ..

恢复上一次操作

cd -

pwd

man pwd

pwd [ -L | -P ]
描述:
显示当前目录的全路径(绝对路径)
常用参数:
-L 
显示连接文件的路径
-P
显示连接文件所连接到的路径

示例 显示当前路径

pwd

该文件夹下没有连接文件,故显示相同

pwd –L | -P 

ls

man ls

描述:显示目录和文件的相关信息
常用参数:
-l
列出文件/目录的详细信息
-a
列出全部文件(显示隐藏文件)

示例: 显示当前文件夹下文件名

ls

显示当前路径下所有子文件

ls –l

以长格式详细列出当前路径下的内容

ls -a

显示当前路径下所有子文件(包括隐藏文件 以.开头的文件)

ls –al

显示/home目录下的文件

ls /home

显示/home目录下所有文件的详细信息

ls –al /home

mkdir

man mkdir

描述:
创建目录
常用参数:
-m
创建目录并设置权限
-p
递归创建多层目录
-v
返回创建目录提示

示例:创建空目录

mkdir dir1

创建多个空目录dir1 dir2 dir3

mkdir dir1 dir2 dir3

在/home/taotaodiy下创建目录dir1

mkdir /home/taotaodiy/dir1

在/home/taotaodiy下创建目录dir1,并设置该目录权限为test2

mkdir –m 777 /home/taotaodiy/dir1

在/home/taotaodiy下创建/dir1并在dir1创建后再创建dir2(/home/taotaodiy/
dir1/ dir2) 递归创建

mkdir –p /home/taotaodiy/ dir1/ dir2

连续在/home/taotaodiy下创建三层信息,并返回信息

mkdir -vp /home/taotaodiy/dir1/ dir2/ dir3

在dir1下创建dir2 dir3 dir4

mkdir dir1/{ dir2, dir3, dir4}

rmdir

man rmdir

描述:
删除文件夹(空文件夹)
常用参数:
-p 递归删除多层空文件夹

示例:删除/home/taotaodiy/test3下test4

rmdir /home/taotaodiy/test3/test4/

删除test7后,test6空了,再删除test6,test5又空了,再删除test5,但taotaodiy中有其他文件,非空不能删除

rmdir -vp /home/taotaodiy/test5/test6/test7/

同时删/home/taotaodiy下test4 test5 test6

rmdir test4 test5 test6

rm

man rm

描述:
删除文件或目录
常用参数:
-f
忽略不存在的文件,不出现警告信息
-i
默认调用,提示是否删除文件
-r
递归删除 删除该文件夹下所有东西

示例: 删除单个文件

rm test1

删除多个文件

rm test1 test2 test3 

删除指定目录下的文件

rm /home/test

删除文件夹dir1

rm -r dir1/

删除多个文件夹dir1 dir2

rm -r dir1/ dir2/

删除指定目录下的文件夹dir1

rm -r /home/dir1

强制删除test3,test3非空

rm -f test3

删除test2下所有.c文件

rm ./test2/*.c

mv

man mv

描述:
移动、重命名文件或文件夹
常用参数:
-f
强制覆盖

示例:mv 目标文件/目标目录 指定目录

移动test2到test1

mv test2 ./test1

将test2从test1中移出来

mv ./test1/test2 ./

mv 旧文件/旧目录 新文件/新目录

将tset2重命名test3

mv test2 test3

强制将test2.c重命名并覆盖test1c

mv -f test2.c test1.c

cp

man cp

描述:
复制文件或目录
常用参数:
-a
相当于-pdr 会将文件的所有属性复制过来 多用于文件备份  
-f
强制执行
-r
递归执行 会改变权限
-l
硬连接 
-s
软连接 复制成一个快捷方式文件并指向源文件
-p
完整复制文件权限
-i
复制前询问

示例:cp 源文件 目标文件

复制test1.c并重命名为rename.c

cp test1.c rename.c

将上一级目录中的test1.c复制到当前目录

cp ../test1.c test1.c

cp -r 源目录 目标目录

将test1及test1目录下文件复制成test3

cp -r test1 test3

将test1及test1目录下文件复制成test3,且文件属性不变

cp -a test1 test3 

备份test1.c

cp test1.c{,.bak}

touch

man touch

描述:
修改文件时间或创建新文件
常用参数:
-a
修改文件 file 的存取时间.
-c
不创建文件 file.
-m
修改文件 file 的修改时间
-r ref_file
将参照文件 ref_file 相应的时间戳记的数值作为指定文件 file 时间戳记的新值.
-t time
使用指定的时间值 time 作为指定文件 file 相应时间戳记的新值.此处的 time 规定为如下形式的十进制数∶[[CC]YY]MMDDhhmm[.SS]

modification time (mtime) 文件内容数据更新时会更新的的时间
status time (stime) 文件状态(如权限属性)改变时会更新的时间
access time(atime) 文件内容被读取时会更新这个时间

示例:新建空文件

touch test1 

新建多个空文件

touch test1 test2 

/home/taotaodiy/目录下新建空文件

touch /home/taotaodiy/test1

上一级目录新建空文件

touch ../test1 

touch -t 时间 文件名

ps

man ps

描述:
查看当前进程动态
常用参数:
-m 
显示内存信息
-w 
显示加宽以显示更多信息
-a 
显示所有用户
-u 
按用户名和启动时间顺序来显示
-x 
显示无控制终端的进程
-l 
以长列表的形式显示

示例:

ps –aux
#查看其他所有者的进程

top

man top

描述:
进程实时监控
常用参数:

示例:查看所有任务

top

kill

man kill

描述:
强制停止进程
常用参数:

示例:强制停止某个进程

kill -9 进程号

tar

man tar

描述:
打包压缩
常用参数:

示例:

归档和压缩
tar -cvzf   归档文件名   需要归档和压缩的文件
解压归档文件
tar -xvfz   需要解压的归档文件名

更多压缩与解压缩命令和工具
https://taotaodiy-linux.readthedocs.io/en/latest/linux/etc/tar.html

文件相关

磁盘相关

df 列出文件系统的整体磁盘使用量
df -h 以合理的单位显示
du 估文件系统的磁盘使用量
du -lh --max-depth=1 ./ 当前目录下所有文件以及文件夹大小
file 查看文件类型
diff 比较两个文件的不同

目录相关

  • 相对路径:从某个目录开始的一个路径,通常是当前路径开始
  • 绝对路径:从根目录开始的路径
cd 切换目录
pwd 查看当前位置
tree 目录树(linux系统目录各个文件的作用)

文件属性/权限

chgrp 改变文件所属用户组
chown 改变文件所有者
chomd 更改权限
chatter lsattr 文件隐藏属性(Ext2/Ext3)
SUID SGID SBIT 文件特殊权限
umask 文件默认权限

文件查找

which 找寻执行文件(查找命令位置)
whereis/locate 寻找特定文件 利用数据库来查找数据
find 查找
grep 常用于管道

磁盘的分区、格式化、检验与挂载

fdisk 磁盘分区 fdisk /dev/sda p n 删除磁盘分区fdisk /dev/sda p d 选择磁盘 q退出w保存
mkfs 格式化磁盘
fsck badblocks 磁盘校验
mount 设备文件名 磁盘的挂载和卸载 umount 设备文件名 设备文件卸载
mknod 磁盘参数修改

link文件

  • 类似于Windows快捷方式文件 (symbolic link)
  • 通过inode连接产生的新文件名(hard link)
    不能跨文件系统,不能连接到目录

本地软件包管理

dpkg-reconfigure <package> 重新配置一个已经安装的软件包

dpkg 安装本地安装包
dpkg -i <package> 安装一个在本地文件系统上存在的Debian软件包
dpkg -r <package> 移除一个已经安装的软件包
dpkg -P <package> 移除已安装软件包及配置文件
dpkg -l <package> 列出安装的软件包清单
dpkg -s <package> 显出软件包的安装状态

apt 在线软件包管理(Ubuntu)

apt-get 软件包管理器
apt-get install 软件包名
apt-get update 更新源
apt-cache madison packagename 列出某软件的所有来源及版本
apt-cache show package 可以模糊查找相关软件

tpm 包管理命令(红帽)

deb 软件包命名规范

用户相关

用户和用户组

su 变更为其他使用者的身份

su - 同时更新用户环境变量
su root 切换为root
su –c df root 切换到root 执行df返回原来用户
su –login taotaodiy切换taotaodiy
sudo 超级管理员 --> 以管理员身份运行

who 查看用户

ctrl+alt+F1-7切换bash

UID GID用户标识符 用户id和用户组id

用户账号配置文件 /etc/passwd
用户密码管理文件 /etc/shadow
用户组组名配置文件 /etc/group
用户组密码管理文件 /etc/gshadow

vipw 访问密码文件

useradd passwd 新增用户
adduser username 
userdel username 删除用户
deluser username
usermod username 修改用户属性

groupadd 新建组
#groups newgrp
groupmod 修改组
groupdel 删除组
groupwd 管理组

w who last lastlog 查询用户 write mesg wall 用户交谈

#实例
#新增,删除用户:
adduser taotaodiy
passwd taotaodiy
userdel -rf taotaodiy
#添加组
groupadd file
usermod -G file taotaodiy
#查看用户和组
vim /etc/group
#将某个文件夹的权限设为组
chgrp  file file
ls -al /home/file/

系统相关

时间日期

date 查看日期
date +%Y/%m/%d/%H:%M:%S以固定格式输出
echo $LANG 查看当前语系
echo $PATH 环境变量
cal 日历
cal +月份/年份
table 命令补全/文件补全
man info 查看帮助文档
q退出 quit结束 exit 退出 
sync 数据同步写入磁盘
uname -r 查看系统版本
shutdown 关机 reboot重启 poweroff断电

进程相关

top 动态监控进程  q退出
ps 查看进程    ps -aux
kill -9 进程ID  结束进程
进程状态 R正在运行 T暂停 …

Free显示物理内存
Free –s 10 每10秒检查一次内存使用

bash相关

history 查看历史命令 
env export查看环境变量
set查看所有变量
locale 查看当前语系变量
read 读取键盘输入
declare / typeset声明变量类型
alias unalias 命令别名设置
source 配置文件名 读入配置文件
bash登录与欢迎信息 /etc/issue

cat > 数据流重定向
cat选取命令 选取某段信息
grep 对我们所需要的信息进行分析
sort wc uniq排序命令 
tee 双向重定向
tr col join paste expand 字符转换命令
split 切割命令 将一个大文件切换成一个小文件
xargs 参数代替 产生一个命令的参数

网络相关

ip 相关

# 配置ip 
Ifconfig eth0 192.168.5.231 netmask 255.255.255.68 broadcast 192.168.5.2 up
停止eth0  Ifconfig eth0 down
激活,关闭eth0   Ifup eth0 , ifdown eth0
Ping 命令 ping ip,    ping 域名
显示处于监听状态的端口 Netstat 
–r显示routing table
-a显示所有连线中的socket
Arp 用于确定ip地址对应的网卡物理地址,查看本地计算机或另一台计算机的arp高速缓存中的当前内容
Arp  –a 显示所有与该接口相关的arp缓存项目 显示系统默认的缓存情况
Arp  -e 显示系统默认(linux)的缓存情况

ifconfig 查询设置网卡与IP网络等相关参数 可以暂时手动设置或者修改设配卡的相关配置
ifup ifdown script文件其作用是通过读取配置文件来启动或关闭网络接口
route 查看、配置路由表

/etc/init.d/network restart 重新启动整个网络接口 

ip link 关于接口的相关设置
ip address(addr)额外ip的相关设定
ip route 关于路由的相关设定

无线网络

iwlist 利用无线网络进行无线AP的检测与取得相关的数据
iwconfig 设置无线网卡的相关参数

网络排错与查看命令

ping 测试两点之间是否连通
traceroute 两主机间各节点分析
netstat 查看主机的网络连接与后门
host nslookup 检测主机名与ip的对应   通过主机找出ip 通过ip找出主机

其他工具

telnet远程登录
ftp远程文件传输 ftp lftp gftp
文字接口网页浏览 links
文字接口下载器wget
文字接口数据包捕获器 tcpdump

其他

特殊字符

通配符:
*:匹配任意长度任意字符
?: 匹配一个任意字符
[]:选择匹配
[-]选择范围匹配
[^  ] 排除范围匹配

\  转义符
/  目录分隔符  根目录符
|  管道符   将上一及输出作为下一级的输入

输入输出重定向
‘>’     输出重定向     覆盖式
‘>>’                     追加式
‘<’   输入重定向     覆盖式
‘<<’                     追加式
命令置换符  `` 将命令的输出作为 另一命令的参数 常用在shell脚本程序中出现较高

Ubuntu的一些组合键

ctrl+shift+t   在同一窗口中打开一个新终端
ctrl+shift+=   放大字体
ctrl+-         缩小字体
alt + 数字     切换窗口
ctrl + z  暂停前台任务    
ctrl + c  结束前台任务
暂停的任务在后台运行   bg + 任务ID
后台运行的任务切换到前台   fg + 任务ID
  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

贪贪贪丶慎独

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值