Linux—— 常用命令学习

linux基本原则:1、一切皆文件;2、配置文件保存为纯文本格式。

linux命令格式: 命令 选项 参数;多个选项可以组合,例如 -a -b等同于-ab; ls -l -a /etc/ 等同于 ls -la /etc/ 代表完整展示etc目录下文件(包含以.开头的隐藏文件)详情

linux命令类型(通过type 命令 查看分类):

内置命令(shell内置):help 命令 便可查看相关内置命令文档

外部命令:man 命令 可以查看外部命令相关文档;使用空格向下翻屏,使用b向上翻屏,使用j向下进一行,使用k向上进一行,查找选项使用/-加选项进行查找,比如/-l,出来后可以使用n查找下一个,退出使用q,帮助使用h

linux命令学习方式:查文档

一、ps显示进程

ps a 显示所有进程

ps -a 显示同一终端下的所有程序

ps -A 显示所有进程

ps c 显示进程的真实姓名称

ps -N 反向选择

ps e 显示环境变量

ps f 显示程序间的关系

ps -H 显示树状结构

ps u 显示指定用户的所有进程

ps -au 指定用户的所有进程

ps -aux 显示所有使用者的行程

ps -ef 查看所有进程

二、查看资源:

1、系统

uname -a 查看内核/操作系统/CPU信息

head -n 1 /etc/issue 查看操作系统版本

cat /proc/cpuinfo 查看CPU信息

hostname 查看计算机名

lscpu 查看CPU信息

lspci -tv 列出所有PCI设备

lsusb -tv 列出所有USB设备

lsmod 列出加载的内核模块

env 查看环境变量

2、空间资源

free -m 查看内存使用量和交换区使用量

df -h 查看磁盘空间利用大小,-h以易读的方式显示结果(即带单位,否则显示的数字为B)

du -sh <目录>  查看指定目录所占空间大小,-s递归整个目录的大小

grep MemTotal /proc/meminfo 查看内存总量

grep MemFree /proc/meminfo 查看空闲内存量

uptime 查看系统运行时间、用户量、负载

cat /proc/loadavg 查看系统负载

3、磁盘和分区

mount | column -t 查看挂接的分区状态

fdisk -l 查看所有分区

swapon -s 查看所有交换分区

hdparm -i /dev/hda 查看磁盘参数(适用于IDE设备)

dmesg | grep IDE 查看启动时IDE设备检测状况

4、网络

ifconfig 查看所有网络接口的属性

iptables -L 查看防火墙设置

route -n 查看路由表

netstat -lntp 查看所有监听端口

netstat -antp 查看所有已经建立的连接

netstat -s 查看网络统计信息

5、进程

ps -ef 查看所有进程

top 实时显示进程状态

6、用户

w 查看活动用户

id <用户名> 查看指定用户信息

last 查看用户登录日志

cut -d: -f1 /etc/passwd 查看系统所有用户

cut -d: -f1 /etc/group 查看系统所有组

crontab -l 查看当前用户的计划任务

7、服务

chkconfig --list 列出所有系统服务

chkconfig --list | grep on 列出所有启动的系统服务

8、程序

rpm -qa 查看所有安装的软件包

三、打包/解包:

tar -cvf 包名.tar /文件夹名    如:tar -cvf bag.tar /floder 将floder文件夹打包为bag.tar

-c:打包选项

-v:显示打包进度

-f:使用档案文件

四、修改文件 vim

vim file.py 用vim打开名为“file.py”的文件

insert 开始编辑模式

esc 退出编辑模式

home 跳到行开头

end 跳到行尾

:set ff=unix 修改文件中的换行符为unix格式

:set ff=dos 修改文件中的换行符为dos格式

:wq 退出并保存

五、复制文件到其他目录 cp

cp -r dir1 dir2 将dir1整个目录复制到dir2路径下

cp -r dir1/. dir2 将dir1目录下的文件全部复制到dir2路径下

若复制过程中询问是否覆盖,输入y回车便可,也可直接将-r改为-rf直接覆盖复制

cp参数:

-a: 通常用在复制目录时使用,保留链接、文件属性,并复制目录下的所有内容,等同于dpR参数组合

-d:复制时保留链接(相当于windows系统中的快捷方式)

-f:覆盖已经存在的目标文件而不给出提示

-i:在覆盖目标文件之前给出提示,要求用户确认是否覆盖

-p:除复制文件的内容外,把修改时间和访问权限也复制到新文件中

-r:若给出的源文件是一个目录文件,将复制该目录下所有的子目录与文件

-l:不复制文件,只生成链接文件

六、移动文件或将文件改名 mv

mv [选项] 源文件或目录 目标文件或目录

视mv命令第二个参数类型的不同完成不同功能,若第二个参数类型是文件则完成重命名操作,此时源文件(源目录)只能有一个,它将所给的源文件(源目录)重命名为给定的目标文件名;若第二个参数类型是目录则完成移动操作,源文件(源目录)可以有多个,它将各参数指定的源文件均移至目标目录中,在跨文件系统移动文件时,mv先拷贝,再将原文件删除。

mv参数:

-b:若需覆盖文件,则覆盖前先备份

-f:若目标文件已经存在则不进行询问而直接覆盖

-i:若目标文件已经存在则会询问是否覆盖

-u:update若目标文件已经存在且source比较新,才会更新

-t:指定mv的目标目录,该选项适用于移动多个源文件到一个目录的情况

实例:

1、mv a.log a.txt 将a.log改名为a.txt

2、mv a.txt b 将a.txt文件移动到b目录下

3、mv a.txt b.txt c.txt d 将a.txt、b.txt、c.txt移动到d目录下

4、mv -t /home/usr/target/ a.txt b.txt c.txt 将a.txt、b.txt、c.txt移动到/home/usr/target/目录下

5、mv -i a.txt b.txt 将文件a.txt改名为b.txt,若b.txt已经存在则询问是否覆盖

6、mv -f a.txt b.txt 将文件a.txt改名为b.txt,即使b.txt存在也是不经询问直接覆盖掉

7、mv dir1 dir2 若目录dir2不存在则将dir1改名为dir2;否则将dir1目录移动到dir2目录下

8、mv * ../移动当前文件夹下的所有文件到上一级目录

9、mv a/*.txt b 将当前目录的a子目录里的txt文件都移动到b子目录里

10、mv a.txt -b b.txt 文件被覆盖前做简单备份,前面加参数-b

七、删除文件或目录 rm

rm [选项] 文件

rm参数:

-f:忽略不存在的文件

-i:进行交互式删除

-r:将参数中列出的全部目录和子目录均递归的删除

-v:详细显示进行的步骤

八、定时任务 crontab

crontab -e 编辑定时任务

crontab -l 列出所有定时任务

定时任务格式

*                             *                   *                   *                      *                            command

分钟(0-59)  小时(0-23) 日期(1-31) 月份(1-12) 星期(0-6,0代表周日)

第一个*:0~59分钟,每分钟用*或者*/1表示

第二个*:0~23小时,每小时用*表示

第三个*:1~31日,每天用*表示

第四个*:1~12月,每月用*表示

第五个*:0~6,0代表周日,每天用* 表示

command:bash命令

说明:1、整数间的-指定一个整数范围,0-5表示整数0,1,2,3,4,5;2、用,隔开的一系列值指定一个列表,3,4,5表示整数3、4、5;3、用/可以用来指定间隔频率,比如0-59/2表示每两分钟,*/3为每三个月

九、处理僵尸进程

使用top命令查看有没有僵尸进程:

使用ps axf命令查看具体僵尸进程,找到僵尸进程的父进程,将父进程kill掉以后就可以关掉僵尸进程

十、修改文件夹权限(777为所有人可读写)

root权限下chmod 777  filepath

十一、后台运行命令并输出日志

1.nohup commmand > logpath 2>&1

   command:bash命令

   logpath:输出日志地址

   举例:

        nohup python3 test.py > out.log 2>&1 &

        后台运行python脚本text.py并将日志输出到out.log中

2.ctrl+z 将正在前台运行的命令暂停后放到后台

   fg 将后台任务切换到前台执行

   bg 将一个在后台暂停的命令变成在后台继续执行;若后台有多个命令可通过bg %pid 将选中的命令调出

   jobs -l 查看后台运行任务的状态并显示对应的pid

十二、查找文件/目录

find 目录 -name '文件/目录名称'

从“目录”下查找名字为“文件/目录名称”的文件或目录

实例:

  find / -name 'girl.jpg'

从根目录查找名字为“girl.jpg”的文件

 find /var/ -name 'www'

从“var”目录查找名字为“www”的文件夹

十三、用户管理

以下操作需要在root权限下进行

1.创建用户

adduser +用户名   此方法会在home目录下创建对应名称的文件夹

  adduser test        添加test用户

useradd -c +描述 -d +用户主目录 -g +用户组 -m +用户名 创建一个名为(用户名)的用户并在(用户主目录)创建用户目录,帐号注释描述为(描述)

 useradd -c "一个新账户" -d "/home/test" -g testgroup -m test 创建一个名为test用户组为testgroup的用户并创建一个用户主目录/home/test,帐号注释为“一个新用户”,-m与-d需搭配使用(否则会出现指定目录不存在的情况)

2.修改用户密码

passwd +用户名    修改(创建)对应用户的密码

  passwd test    修改test的登录密码,要求密码不能少于8位

3.删除用户

userdel +用户名   删除对应用户但保留home目录下的文件夹

  userdel test   删除test用户/home/test仍然保留

  userdel -r test 删除test用户并删除/home/test文件夹

4.用户组

groupadd +组名 添加用户组

  groupadd testgroup 添加testgroup用户组

groupdel +组名 删除用户组

  groupdel testgroup 删除testgroup用户组

十四、常见问题

1.大部分常见命令运行时出现 “command not found...”:

        此问题一般是因为系统的环境变量出现问题导致的,可用root用户通过运行下方命令进行修复

export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

2.运行sh文件时出现“syntax error: unexpected end of file”问题:

        此问题是因为这个文件是在window系统编写,格式为dos,而linux系统需要的格式为unix,故解决方案如下:

        ①通过vi打开该sh文件

vi *****.sh

        ②输入:set ff=unix并回车

:set ff=unix

        ③输入:wq并回车

:wq

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值