Linux常用命令
help # 学习的关键;help直接回车就是显示所有内部命令
eg: ls --help
type # 用来显示指定命令的类型,判断给出的指令是内部指令还是外部指令。 -t:输出“file”、“alias”或者“builtin”,分别表示给定的指令为“外部指令”、“命令别名”或者“内部指令”;
file 文件名 # 辨识该文件的类型。ELF为二进制编码文件,是不是可执行文件。windows右键属性。
yum install man man-pages # 通过yum安装man,操作手册man-pages
ps -fe # 查看进程,静止的 pstree # 多任务目录查看,两个bash代表两个用户
where is # 定位命令位置
man utf-8 # man ascll;man 2 read
man wc
df # 磁盘空间与分区; df -h # sda3 根级目录的第三个分区,Windows是cdef,h代表human,人类可读的
useradd #添加用户。添加的用户归属于/ 目录,如果有个用户把内存占满了,可以让该用户的目录指向新加的硬盘。
umount /boot # 卸载boot目录的挂载 mount /dev/sda1 /boot # 挂载
du -sh ./* # s代表汇总,h代表人类可读取的
# du命令是对文件和目录磁盘使用的空间的查看
ll ls -la # 呈现列表的形式l, a代表所有的,i node号-磁盘位置。*****短的化可以两个一块*****;ls -l -ascll码才是最原始的, ls --help # 长字符 ls -l ./a* # 显示名称含a的文件 ls -l ./a?? # 显示名称含a的文件,?单个任意字符(正则表达式:[^12]取反)
ls -l /etc | grep "init"
cd # 回家 cd - # 上一次路径 cd .. # 上一级目录,. 当前目录 cd ~ # 家目录 cd ~用户名 # 回用户家;
clear
pwd
mkdir -p # 深度创建目录 mkdir ./x/{x,y,z}dir # 深度之后广度创建目录
rm -rf # f强制删除、r递归删除、rm -rf / 有点会提示危险,有的没有, rm -rf ./* # 删除当前目录所有文件
cp 文件 目录/文件 # cp /etc/{profile,init/inittab} ~
ln -s 文件 软连接 # 删除原始文件会提示错; ln 文件 硬连接;# 两个变量指向了同一存储位置
stat 文件 # 查看文件的描述性数据 -> 元数据:数据的描述性数据;
chmod +x 文件名 # 权限修改
touch 文件 # 把文件刷新成当前时间点;可以触发事件; touch 文件名 # 创建一个文件
cat 文件 # 读取文件并输出到shell
more 文件 # 读取文件并输出到shell,分屏显示后等你输入回车显示更多
less 文件 # 读取文件并输出到shell,分屏显示后等你输入回车显示更多,b回看
head -行数 文件 # 截取文件前面n行
tail -行数 文件 # 截取文件后面n行
echo "hello world" # 显示字符串到屏幕 echo $$ # 显示当前使用的进程id; echo -n "hello world" # 只换行,不回车 echo $PATH #查看PATH
tail -f 文件名 # 阻塞,可以另外打卡一个窗口 echo "hello world" 1>> 文件名
管道 head -3 文件 | tail -1 # 截取文件中间的多少行,基于文本流的加工方式 ls -l /etc | more # 衔接前面的输出和输入流,管道前后各是可以解析的字符串 echo "/" | xargs ls -l # xargs
vi +行号 文件名 # 排错 vi + 文件名 # 定位最后一行 vi + /字符串 文件名 # 打开 查找
grep -v 字符串 文件名 # 不含字符串的行 grep "\" 文件名 # 查找含xxoo的行 grep "^xxoo" 文件名 # 查找开头含xxoo的行 grep "^xxoo\>" 文件名 # 查找开头含xxoo单词的行 grep "xx[0-9]oo" 文件名 # 查找:xx数字oo grep "xx[0-9]\+oo" 文件名 # 查找:xx多数字oo grep "xx[0-9]\{4\}oo" 文件名 # 查找:xx4个数字oo grep "xxoo.*ooxx" 文件名 # 查找:xxoo任意字符xxoo grep "\(xx\)\(oo\).*\1\2" 文件名 # 查找:xxoo任意字符xxoo
cut -d' ' -s -f1,3 文件名 # 以空格切割,显示第一三列; -s 成功切割; 1到3表示为1-3;
cat 文件名 | cut -d' ' -s -f1-3
sort -t' ' -k2 -nr 文件名 # 以空格切割,以第2列数值(-n)倒叙(r)排序
wc -l 文件 # wordcount
cat sort.txt | wc -l #统计文件行数
sed "1a\hello world" 文件名 # 给文件在1行后追加hello world,会输出到屏幕,源文件不会变; sed -i "1a\hello world" 文件名 # 给文件在1行后追加hello world,会输出文件; sed -i "2d" 文件名 # 删除文件第2行 sed -i "/apple/d" 文件名 # 删除文件中含apple的行 sed -i "s@hello@nihao@" 文件名 # 查找hello换成nihao sed "s/\(id:\)[0-6]\(:initdefault:\)/\15\2/" inittab # 查找id:x:initdefault: x换成5; 查找该替换的替换,不替换的不管
awk -F':' '{ print $1}' 文件名 #打印第一列 awk -F':' '{ print $1 "," $7}' 文件名 # 以逗号分割 awk -F':' '{ print $1 "\t" $7}' 文件名 # 以制表符分割 awk -F':' 'BEGIN{ print "name\tshell"} { print $1 "\t" $7} BEGIN{ print "blue\tnosh"}' 文件名 # 以制表符分割
cut -d':' -f1,7 文件名 | sed "1i\name:shell" cut -d':' -s -f1 文件名 #打印第一列
sxt=100 # 变量定义 echo "$sxt" # 输出100 echo '$sxt' # 单引号可以组织字符串扩展,就是编译解释;输出$sxt