Linux常用命令与常用操作
常用命令
普通命令
file 查看文件类型 pwd 打印当前目录 ping 发数据包 touch 创建文件 history 查看历史命令 clear/cls 清理终端显示 echo * 使用echo打印目录所有文件和文件夹 uname-r 查看Linux内核版本 which [file] 看文件的绝对路径 rebot 重启 halt 关机 poweroff 关机 echo $RANDOM 打印一个随机数($RANDOM是一个随机数) env 查看环境变量 $PATH 执行命令的环境变量
id -u 打印用户的id
cut 按行去切分字符串
-d 定义分隔符
-f 打印第几个字段
ln -s 建立软链接
df -h 磁盘使用状况
free 看内存
-k 以k单位显示
-m 以m单位显示
uptime 机器负载情况,登录情况
curl https://www.baidu.com 向url发起get请求
read 读取用户的输入 -p "" 提示信息
查看文件内容
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修改密码