Linux基本命令

Linux基本命令
常用
tail -f 日志名  实时监控日志
tail -f 80_v10.log

netstat -na|grep 80  查看端口tcp连接数
netstat -na|grep 80 | wc -l 计算端口tcp连接数

ps -ef|grep python  查看有多少python程序在运行

gunzip 2015.csv.gz   # 解压
unzip 19.zip # 解压zip
wc -l 2015.csv   # 查看行数
apt install lrzsz  # 安装
sz 文件名  # 下载文件

查找文件
find / -name 文件名

匹配执行过的以find为开头的命令
history | grep find

1、命令速查
whereis 命令 #寻找可执行程序的位置 
man 命令   #查看“命令”的使用手册
命令 --help
info 命令
2、文件颜色含义
  1. 蓝色=文件夹
  2. 绿色=可执行程序
  3. 白色=文本文件
  4. 红色=压缩文件
  5. 青色=链接文件
  6. 黄色=设备文件
  7. 灰色=其它文件
  8. 红色闪烁=无效链接
3、文本命令
cat  #连接文件并打印到标准输出设备上
gedit #以编辑器模式打开一个文件
echo #用于在shell中打印shell变量的值,或者直接输出指定的字符串
grep #强大的文本搜索工具,正则表达式
----------
head # 用于显示文件的开头的内容。在默认情况下,head命令显示文件的头10行内容。
tail #ail命令默认在屏幕上显示指定文件的末尾10行
cut  #用来显示行中的指定部分,删除文件中指定字段
sort  #将文件进行排序,并将排序结果标准输出
uniq  #用于报告或忽略文件中的重复行,一般与sort命令结合使用

4、管道与重定向
  • 重定向 >>(追加), > (覆盖)
  • 管道 |
5、软件的安装

红帽系的yum

5.1 安装包安装
  • 安装包类型

    • rpm #红帽系统安装包
    • deb #由Debian创始,为Ubuntu所采用
    dpkg -i <package-name> #安装软件包
    dpkg -r <app-name> #卸载
    dpkg -P <app-name> #卸载并移除配置
    dpkg -L <app-name> #罗列安装包信息
    dpkg-deb -c <package-name> #罗列安装包信息
    dpkg --info <package-name> #查看安装包详细信息
    
5.2 apt包管理器安装
sudo apt update #更新软件源(到本地源)
sudo apt upgrade #将本地类库升级到最新版本(很慢)
sudo apt install vim #安装vim,自动下载和安装依赖
sudo apt install -f #修复依赖包关系
sudo apt remove --purge vim #完全卸载vim
sudo apt search ncurse # 搜索ncurse相关的包
  支持类库筛选时的经验:libxxx-dev
  阅读包说明
----------
apt-cache show vim #显示包信息
apt-cache policy vim #显示包安装状态
apt-cache depends vim #查看包的依赖信息
apt-cache search vim #查询类似软件源
  • 相关文件存放位置

    - /etc/apt/souce.list #软件源管理文档
    - /var/lib/apt/lists/* #本地包索引
    - /var/cache/apt/archives/* #本地包缓存
    - ... #参见man apt-get
    

5.3 源码编译安装
sudo apt update // 更新软件源
sudo apt install python-pip //安装pip

./configure 源码包中执行配置
make clean  清除一些编译的垃圾
make        执行编译
make install    安装
make uninstall  卸载
5.4 更新软件源
  • sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup
    • 备份软件源
  • gedit /etc/apt/sources.list
    • 使用国内源(此处为中科大源https://mirrors.ustc.edu.cn/repogen/)
      把文件里的内容全部删掉,把下面的网站全都复制到sources.list:

比如Ubuntu18.04

deb https://mirrors.ustc.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic main restricted universe multiverse

deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-security main restricted universe multiverse

deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse

deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse

## Not recommended
# deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
# deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
  • sudo apt update
    • 更新软件信息
5.5 常用工具的安装
  • 搜狗拼音

    下载deb,sudo dpkg -i xxx.deb
    修复依赖关系:sudo apt-get install -f
    再次安装:sudo dpkg -i xxx.deb
    在SystemSetting中将默认输入法切换为fcitx
    重启
    点击桌面右上角键盘图标,添加输入法(取消勾选只看当前输入法),
    搜索并添加sogoupinyin
    将搜狗拼音位置上调到顶部
    
6、文件管理
  • 文件操作
  cd - 回上次目录
    - 回根目录:cd ~    或 cd 
  - ----------
  ls -l 查看详细信息
  ls -a 查看所有文件包括隐藏文件
  ls pycharm* 查看所有以pycharm开头的文件
  ll #等于ls -al
  - ----------
  touch shit 创建空白文件
  mkdir shit 创建目录
    #一次性创建 text/1/2/3/4
   mkdir -p text/1/2/3/4
  rmdir:删除一个空的目录
  rm -r fuck 递归删除文件夹
  rm -rf ~/.Pycharm/ ~/Download/pycharm-/ #递归强制删除多个文件夹
  sudo rm -rf fuck 使用管理员权限强制递归删除文件夹
  - ----------
  echo "It is a test" > myfile 输出字符到文件
  echo $name  #输出变量name的值
  cat myfile 查看myfile
  cat -n myfile #带行号查看myfile
  cat -b myfile #带非空行号查看myfile
  more xxx #就地查看xxx文件
  file myfile #查看文件信息
  gedit myfile
  - ----------
  cp myfile mynewfile 拷贝文件
  mv myfile shit/ 移动文件到文件夹下
  mv mynewfile shit/yournewfile 移动并重命名
  mv myfile yourfile 重命名
  - ----------
  pwd:显示目前目录的绝对路径
  man cp 查看某命令的使用文档
  - ----------
  chown newowner myfile #修改文件的owner
  chgrp newgroup myfile #修改文件的所属组
  chmod 777 myfile #修改文件的权限为所有人可读可写可执行
  chmod o+x myfile #为其他人增加可执行权限(a,u,g,o)
  chomd g=rw myfile #修改用户组的权限为读写
  - ----------
  grep "fuck" myfile #在文件中查找关键字
  find / -name myfile 全盘检索文件
解析:
  	. 在此表示当前目录
   	-name  core  表示查找文件名为core的文件 
   	-exec 表示执行什么命令。后面跟要执行的命令。此处是rm 
  	{} \;表示把查找到的结果发送到此来。
  locate myfile #快速全盘检索文件,但通常要先updatedb
  ----------
  ln -s ./h /bin/h #建立软链接快捷方式
7、压缩
tar -cvf /home/abc.tar /home/abc    只打包,不压缩
tar -zcvf /home/abc.tar.gz /home/abc    打包,并用gzip压缩
tar -jcvf /home/abc.tar.bz2 /home/abc    打包,并用bzip2压缩
- ----------
tar -xvf abc.tar 解压普通tar包
tar -zxvf abc.tar.gz 解压gz压缩包
tar -jxvf abc.tar.bz2 解压bz2压缩包
- ----------
zip xxx.zip ./* 压缩
unzip xxx.zip #解压zip压缩包
- ----------
gzip hello.c #打包
gzip -d hello.gz #解包

8、文件类型
\- #一般文件
d #文件夹
l #链接文件(快捷方式)
b #块文件
c #字符文件
s #socket
p #管道文件
9、磁盘管理
df #查看磁盘使用情况(disk free)
du #查看目录使用详情(directory usage)
du | more #分页查看目录使用详情
du -sh #简介可读地查看目录使用情况 
#查看/etc所占的磁盘空间
  du -sh /etc
fdisk -l #识别Linux下磁盘数据
fdisk /dev/sdb #对设备进行分区(后续步骤通过查看命令帮助逐步完成)
mkfs -t ext4 /dev/sdb1 #在设备分区上建立文件系统(此时的sdb1是一个块文件,
还不能作为文件夹使用)
mount -t ext4 /dev/sdb1 /mnt/mydisk #挂载磁盘设备(将块文件映射为文件夹)
vi /etc/fstab #编辑文件系统注册表(将挂载设备注册到系统,才能永久生效)
umount /mnt/mydisk #卸载磁盘设备
10、系统管理
su uname #切换用户
exit #退出当前会话
sudo 命令 #super user do
$PATH #当前环境变量
export PATH=$PATH:/home/ldc/Desktop/ #追加环境变量
#----------
shutdown -h 21:00 #定时关机
halt #完成当前任务并关机
poweroff #关机
reboot #重启
#----------
ps -ef #完整打印所有进程快照
ps -ef | grep nginx #查看服务是否运行
kill -9 26528 #强制杀死进程
top #显示所有系统任务(任务管理器)
free #查看内存占用
uname -a #打印操作系统信息
uptime -p #查看系统运行了多久
cal/date/ #查看日历日期
time #命令执行时长
11、服务管理
  • 系统运行级别

    系统运行级别(单多网留图)
    	0=停机模式
    	1=单用户安全模式
    	2=多用户安全模式
    	3=多用户网络模式
    	4=系统保留模式
    	5=图形化界面模式
    	6=重启模式
    runlevel #查看当前运行级别
    sudo init 6 #进入指定运行级别
    
  • 程序后台运行

nohup python machine.py >> machineLog.out  &
nohup后台执行脚本并把输出都指定文件.
12、systemctl 服务管理
systemctl status xxx #查看服务状态
systemctl start xxx #启动服务
systemctl stop xxx #停止服务
systemctl restart xxx #重启服务
systemctl is-enabled xxx #查看是否开机启动
systemctl enable xxx #设置服务开机自启
systemctl disable xxx #禁止服务开机自启
13、用户和权限管理
  • 登录状态、查看日志、权限管理、用户管理

    last 查看用户近期登陆情况
    last -2 最近登陆的两个用户
    last -2 root 查看root用户最近两次登陆情况
    chmod +x ./hello.sh #为文件增加执行权限
    ----------
    sudo useradd uname #添加用户(home为根目录)
    sudo useradd -m uname #添加用户并将自动添加home目录
    sudo useradd -g xxx uname #添加用户到用户组xxx
    sudo useradd -u 0 -o -g root -p123456 uname #创建id为0用户组为root密码
    为123456的(超级)用户
    sudo passwd #修改密码
    sudo passwd uname #添加密码
    su uname #切换用户
    sudo usermod -g xxx uname #修改用户所属的用户组
    sudo userdel -r uname #删除用户及其home目录
    --------
    groupadd、groupmod、groupdel #组的添加修改和删除
    id #显示用户及其群组信息
    groups #查看当前用户所加入的组
    who #查看所有当前已登录的用户
    
    whoami #显示当前用户名称
    

    /etc/passwd文件说明:

    是用户管理工作涉及的最重要的一个文件
    
    内容包含7个字段,例如 him:x:200:50:Sam san:/usr/sam:/bin/sh
    
    含义分别为 用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录Shell
    

14、网络管理
网络管理命令
ifconfig // 查看网卡状态
ping 192.168.59.129 // 检查网络是否连通
// 下载redis
traceroute -m 100 baidu.com     追踪路由信息,最大100跳

netstat -at     列出所有TCP端口
netstat -r      显示路由表
netstat -i      显示接口列表
netstat -tpnl   查看已连接的TCP端口和程序名
netstat -anp | grep 3306 -c     查看MySQL的连接数

在Ubuntu上开启SSH服务
1、sudo apt-get update 更新源列表
2、sudo apt-get install openssh-server 安装openssh-server
3、sudo ps -ef | grep ssh 查看SSH服务是否启动
4、sudo service ssh start 如果没有启动则启动SSH服务
5、ssh root@127.0.0.1 访问远程主机
6、exit 退出远程访问

远程登录

假设远程主机为:sname@192.168.158.129

sudo apt-get install openssh-server 安装openssh-server
sudo ps -ef | grep ssh 查看SSH服务是否启动
sudo service ssh start 如果没有启动则启动SSH服务
ssh root@127.0.0.1 访问远程主机
exit 退出远程访问
# 从远程主机拷贝内容到本地
scp -r sname@192.168.158.129:/abc /home/wife/Desktop/      
# 从本地拷贝内容弄到远程主机(对方没有本地的公钥时需要密码认证)
scp -r /abc sname@192.168.158.129:/home/sname/Desktop/ 

# ssh公钥交换过程:远程主机持有本地的公钥时,ssh以及scp可以免密执行
ssh-keygen -t rsa   生成ssh秘钥对
#上传公钥给远程主机
scp ~/.ssh/id_rsa.pub sname@192.168.158.129:/home/sname/.ssh/  
ssh sname@192.168.158.129   ssh登录远程主机
# 操作远程主机添加公钥认证(今后远程对本地ssh免密)
#让远程持有自己的公钥(对方不必添加公钥到authorized_keys)
ssh-copy-id sname@192.168.158.128  cat Desktop/id_rsa.pub >>
 ~/.ssh/authorized_keys 

15、vim使用
  • 模式与切换

    命令模式 Command

    插入模式(编辑模式)Edit

    底行模式 Ex

    ----------

    Command=>Edit:i=前插入;a=后插入;o=换行插入
    Edit=>Command:ESC
    Command=>Ex:冒号
    Ex=>Command:Enter
    Ex与Edit间无法互切,必须以Command做跳板
    

  • 底行命令

    :q! 不保存强制离开
    wq 保存退出(x)
    w filename #另存为
    set nu #设置行号
    set nonu #设置无行号
    ----------
    %s/old/new/g #执行全文替换
    %s/old/new/gc #全文逐一待确认地进行替换
    n1,n2s/old/new/g #执行局部替换
    
  • 命令模式

    ctrl +f / b #向前/后翻页
    0 / $ #行首/行尾
    1G #文件开头
    G #文件末尾
    78G #移动到第78行开头
    5+ 下移5行
    6- 上移6行
    ----------
    dd #删除整行
    5dd #向下删除5行
    x #删除当前字符
    ----------
    yy #复制当前行
    5yy #向下复制5行
    p #粘贴
    ----------
    u #恢复上一步操作
    /keywords #向下查找关键字
    ?keywords #向上查找关键字
    n/N #向下/上查看关键字
    
  • o #插入

  • d #插入前删除内容

16、其它命令
ls -i /usr/bin/python //查看文件的inode
ln /usr/bin/python ./phln // 创建硬链接(共享文件入口)(硬链接不能跨磁盘)
source ~/.bashrc // 使修改后的bashrc生效
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

东木月

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

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

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

打赏作者

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

抵扣说明:

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

余额充值