Linux常用命令与常用操作

时间:2022-12-09 22:03:22

常用命令

普通命令

file               查看文件类型
pwd                打印当前目录
ping               发数据包
touch              创建文件
history            查看历史命令
clear/cls          清理终端显示
echo *             使用echo打印目录所有文件和文件夹
uname-r            查看Linux内核版本
which [file]       看文件的绝对路径
rebot             重启
halt              关机
poweroff          关机
echo $RANDOM       打印一个随机数($RANDOM是一个随机数)
env                查看环境变量
$PATH              执行命令的环境变量
ln -s         建立软链接
df -h 磁盘使用状况 free 看内存 -k 以k单位显示 -m 以m单位显示 uptime 机器负载情况,登录情况 curl https://www.baidu.com 向url发起get请求

查看文件内容

cat            查看文件内容
    -n    显示行号
head        只看前几行
tail        只看后几行
more        一页页查看(往下)
less    
    ctrl+F    往前翻
    ctrl+B    往后翻

目录相关

cd            改变目录
mkdir         创建目录
    -p     层叠创建
ls            查看目录    
    -a    列出所有目录(包含隐藏的)
    -d    仅列出目录本身
    -l    列出详细数据、属性、权限    # 简写 ll
    -h    以人类可以方式列出
例子:    ls -s-hl            

命令别名

alias lufei = "echo hello"          命令别名
unalias    lufei                    取消命令别名

用户/组相关

useradd [参数] [用户名]            新增用户 -d     指定home目录
    -g    指定group
    -G     指定所属组列表
usermod [参数] [用户名]           修改用户 -d    修改用户家目录
    -g     修改用户gid
    -a -G    追加某个组到用户
userdel    [参数] [用户名]         删除用户 -r dev        删除用户和家目录

groupadd [参数] [用户名]           新建组
passwd    [用户名]                设置密码

chmod [-R] [file]                    改变某个文件/目录的权限
chown [所属用户]:[所属组] [file]      修改文件或目录所属的用户和组
        例子:     chmod 704 /home/dev20 
                chmod 704 /home/dev20 -R        # 层叠改变权限
                chown dev20:dev20 wangyuxing    # 修改wangyuxing属的用户和组为dev20

文件操作相关

cp [源文件] [目标文件]           复制文件
mv [源文件] [目标文件]            移动或重命名文件
rm                                 删除文件
    -r  递归删除文件和目录
    -f  强制删除
    -i    需要确认删除
            切记勿使用 rm -rf /

查找文件

find / -name [名字]
find / -type [类型参数]
        # 常用文件类型
            -          普通文件
            d        目录文件
            l         链接文件
            b         块设备文件
            c         字符设备文件
            p         管道文件
find / -perm [权限]
find . -name *.e -exec rm {}\;    找到后(...)删掉
find / -mtime +1        找2天前的文件(不包括2当天)
find / -mtime -1        找2天内的文件(不包括2当天)
find / -mtime 0             找当天的文件

压缩与打包

压缩
    gzip [file]        压缩
    gzip -d [file]    解压

打包
    tar -cf [包名] [file]            打包
    tar -xvf [包名]                    解包
    tar -tf [包名]                    查看包内容

打包加压缩
    tar -zcf [压缩包名] [要压缩打包的文件]        打包加压缩
    tar -tf [压缩包]                            查看压缩包内容

grep命令

是强大的文本搜索工具,支持正则表达式
它对文本逐行查看,如果找到匹配的模式,就打印除包含此模式的所有行

命令格式

grep [模式] [被查找的文件]                # 被查找的文件可以是多个
其他命令 | grep [模式] [被查找的文件]

例子:
    cat /var/log/secure|grep sudo

常用参数

-c    不打印内容,打印匹配到的行数
-i    不区分大小写匹配
-n       显示匹配到的行的行号
-v    打印除匹配行之外的其他行

常用的正则表达式

^        开头
$        结尾
.        任意单个字符
.*        任意字符
^$        空白

帮助命令

man    [command]                查看帮助信息
[command] -h或--help           查看帮助(有些命令-h不是查看帮助)
help                            用来查看shell内建命令

su与sudo

su

从一个登陆的用户切换到另一个用户,
超级用户切换普通用户不需要密码,反之,需要密码

 

su dev 与 su - dev 的区别

  su dev 保持旧的环境变量 (自己的理解就是,保持旧的所在路径)
  su - dev 执行用户的环境变量(切换到dev的家目录)

sudo

根据预先设置好的权限文件(/etc/sudoers),只需要验证自己的密码,就可以指定用户执行命令

sudo -l                列出当前用户可以执行那些命令

常用快捷键

ctrl+u            把光标前的东西删掉
ctrl+k            把光标后的东西删掉
ctrl+a            移到命令最前
ctrl+e            移到命令最后
ctrl+r            历史命令搜索    
tab键             用于自动补全命令/文件名/目录名    (按两下可以提示)
ctrl + l         清理终端显示 
ctrl + c          终止当前操作

常用文件

/var/log/messages          系统的日志程序(文件)
/var/log/secure            登录信息文件
/var/spool/cron            定时任务目录
/etc/fstab                 硬盘挂载文件
/etc/profile               配置环境变量

/etc/passwd                用户信息
/etc/group                 组信息

/etc/shadow                密码文件
/etc/sudoers               sudo配置文件
/etc/sysconfig/network-scripts/ifcfg-eno16777736 网络配置

目录树

/         根目录
/bin      可执行文件,常用命令
/sbin     系统类工具
/etc      配置文件目录
/dev      设备目录
/proc     系统进程信息
/tmp      临时文件存放目录
/usr      用户使用的工具和配置
/home     所有用户的家目录,但root的家目录是/root
/boot     引导程序和内核目录
/lib      系统库文件

通配符

*        匹配0-无穷个任意字符
?        匹配一个任意字符

ls颜色

当输入ls后,展现出的颜色的类型

绿色        可执行文件
红色        压缩文件
蓝色        目录
白色        一般性文件
浅蓝色        链接文件    建立软链接文件    ln -s /var/log/messages msg
红色闪烁    表示链接的文件有问题
黄色         设备文件
灰色        其他文件

ls文件类型

ls -al后

常用文件类型

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

权限

r    可读    4
w     可写     2
x     可执行     1
-     无权限     0

重定向

文件描述符

0     代表标准输入
1     代表标准输出
2     代表错误输出

重定向符号

>    重定向符号,清空原文件所有内容
>>   追加重定向,把文字追加到文件的结尾

标准、错误一起重定向

有标准输出则标准输出重定向,有错误输出则错误输出重定向

echo "python" >log.txt 2>&1
echo "python" >log.txt 2>>&1        # 以追加的方式重定向

例子

ls 1>std.log           # 标准输出将会输入到std.log中
efd 2>error.log        # 错误输出将会输入到error.log中
echo "python" >> log.txt       (>>是追加到文件的意思)

管道pipe|

管道是一个操作符,符号是"|",把输入和输出重定向结合到一起将一个命令的输出立即作为另一个命令的输入

例子

echo "python"|cat -n                 以行号输出python
echo 123456|passwd --stdin dev10     给dev10修改密码