Linux常用命令

ls–list files 列出目录文件

ls -a 显示包含以.开头的隐藏文件的全部文件,a是all
ls -l 长格式显示文件信息 l是long。1文件类型和权限(所有者权限,所有组权限,其他用户权限) 2链接数 3所有者 4所有组 5文件字节大小 6文件的最后修改时间 7文件名或目录名
ls -al 列出所有文件并长格式显示
ls /显示根目录下文件清单,你不需要cd到根目录就可以直接查看它下的文件
ls ~显示用户的家目录
ls …和ls …/…查看父目录的文件,…标识上一层,…/…标识上一层的上一层
ls -lS 表示文件大小排序,S是Size
ls XXX/.XXX 有点类似筛选 ls test/.txt 只显示test文件下的txt文件类型
ls -lS > out.txt 在当前相同路径下,把文件清单名称输入到一个out.txt 的文件里

man manual

cd–change directory 切换工作目录

cd跟空格 默认切换到用户的home目录
cd ~ 切换到用户的home目录
cd /切换到根目录

pwd–print working directory打印当前工作目录

cd 一个文件名带空格的方法 :
cd “my book”
cd my\ book
cd ‘my book’

cat–concatenate files and print on the standard output 把字符串连接后输出到屏幕上

cat 后不写任何参数,可以默认打开一个空白文件
cat 后跟空格,默认打开一个空白的模板,可以随意写东西,退出这个模式,Ctr+d d是end
cat file1 显示一个文件
cat file1 fiel2 显示两个文件内容
cat -b file1 -b :no blank 不计算空行的情况下显示行号
cat -n file1 计算空行,显示行号
cat -E file1 显示到每行结束部分,并在每行尾部显示$符号
cat > out.txt 把终端里面输入的字符保存到一个具体文件中
继续cat > out.txt 每次cat >out.txt 后,都会覆盖之前的内容
cat >> out.txt 直接在后面尾部添加内容,不会覆盖旧内容
cat a.txt > d.txt 把一个文件内容拷贝到一个新文件
cat a.txt b.txt >> e.txt 把两个文件内容拷贝到一个新文件

筛选的两种方式

方式一:cat 文件名 | grep -E “关键词”
方式二:grep -E “关键词” 文件名
在这里插入图片描述

/etc/group 文件格式说明

/etc/group 的内容包含用户组、用户密码、进程号和该用户组包含的用户

将其他用户添加到sudo用户组里

切换到用户lilei
查看lilei的sudo
在这里插入图片描述

mkdir–make directory 创建路径,一般用来创建文件夹的

不能跨目录创建文件,如没有names文件,不能创建names/mark
父目录和子目录一起创建:
mkdir -p names/mark 这样就可以,p表示父目录,对应parent
父目录下创建多个子目录
mkdir -p names/{lucy,tom,anthony}
{lucy,tom,anthony}三个之间用逗号隔开,不能有空格

rmdir–remove directory,删除文件和目录

rmdir 单个空文件夹 :rmdir abc
rmdir 删除多个空目录:

  • 先创建多个空目录:mkdir -p a/b/c/d/e
  • 然后删除:rmdir a/b/c/d/e
  • -ls -R 查看效果:只删除了最后一个目录e,ls -R 递归列出文件
  • rmdir -p a/b/c/d 是包含父目录一起删除
    rmdir 试试删除有文件的目录
  • 先mkdir -p a/b/c/d/e
  • cd a/b
  • cat > abc.txt
  • cd 到 Desktop
  • rmdir -p a/b/c/d/e
  • 报错:删除 “a/b”失败:目录非空
  • 已经删除了c/d/e
  • 通过rm解决问题
  • rm -r a/b/ :rm -r 表示强制删除一个目录下所有文件和路径
  • ls -R

cp–copy :cp 参数 源文件路径 目的地路径

cp file1.txt fiel2.txt
把file1.txt 拷贝到一个空白路径下

  • mkdir dir1
  • cp file1.txt dir1
  • cd dir1
  • ls
    把两个文件拷贝到一个空白路径下
  • mkdir dir2
  • cp file1.txt fiel2.txt dir2
  • cd dir2
  • ls

覆盖文件,需要用到参数-i,i是交互的意思

  • cp -i file1.txt file2.txt dir1
    提示:是否覆盖 “dir1/file1.txt”
  • cd dir1
  • ls
    dir1下文件为:file1.txt file2.txt

文件夹能否复制

  • mkdir dir3
  • cp dir1 dir3
  • 提示:略过目录“dir1”
  • 这时候用-R参数
  • cp -R dir1 dir3
  • ls dir3
  • dir3 下文件为dir1

cp 默认是拷贝文件,而不包括目录,如果要拷贝目录,就要加上 -R参数

cp -vR dir1 dir4

  • mkdir dir4
  • cp -vR dir1 dir4
    v会显示变更记录

mv–move,剪切的意思

  • mv file1.txt file2.txt :重命名文件
  • mv file2.txt dir1 :将文件移到路径中

将相同文件名的内容移动到该路径中

  • 在桌面创建file2.txt,cat > file2.txt
  • 移动到dir1中: mv files2.txt dir1
  • 查看dir1/file2.txt:
    cat dir1/file2.txt
    是最新的内容,旧内容被覆盖了
  • 利用-i,来提示我们,两个文件名相同,是否要覆盖,i,i是交互(interactive)的意思
  • mv -i file2.txt dir1

mv dir1 dir3:将路径名重命名,相当于把dir1名称修改成dir3

mv -v file3.txt dir2:将文件放入路径中,这里-v,是英文单词verbose的缩写,表示解释这个命令执行之后发生了什么变化

less翻页,加载速度较more快

  • cp /bin/zgrep /home/shiyanlou/Desktop :将问题文件拷贝到桌面
  • cd /home/shiyanlou/Desktop
  • less zgrep
    键盘的上下箭头/page up,page down :翻上下页
    g 翻到开头,G翻到尾部,g3翻到开头第3页
    搜索g回到开头,输入/,进入搜索模式,n–next查看下一个搜索结果,b–back 查看上一个搜索结果
    G回到尾部,输入?,进入搜索模式
    q退出less编辑模式:退出后屏幕布上没有内容显示

more:分屏显示文件内容

more zgrep:显示16%
空格下翻内容:显示27%
空格键:显示下一屏
回车:滚动一行
f:前滚一屏
b: 回滚一屏
b回退:显示16%
q 退出:退出后内容还显示在屏幕上

它们两最大的区别就是less可以往回翻页

touch:1.快速创建空文件,2.修改文件的时间戳

  • 创建文件夹:mkdir dir
  • cd dir
  • cat > file1.txt
  • touch file2.txt
  • 修改file2.txt 的时间戳
  • touch file2.txt :相当于不修改,更新修改时间

su–switch user

sudo–supperuser do

top–Linux 就把它用于最前面运行峰值较高的部分,top主要的作用就是用来查看CPU和内存的消耗

最上面一段是一个总体的消耗情况,下面这个列表是每个进程的消耗情况。
%CPU代表CPU消耗,%MEM代表内存消耗。PID是进程的意思。
如果要退出top界面,你输入ctrl+c
在top下按下s,输入数字,表示隔几秒刷新一次
在top下按下i,使top不显示任何闲置或者僵死进程(CPU%为0的进程)

ps–process status查看进程

ps -ef | grep Name:查看进程的id
ps -ux 查看当前的激活的进程
ps -aux查看当前所有进程
ps -U shiyanlou 查看shiyanlou这个用户有关的进程

kill–杀进程

kill(选项)(参数):参数是进程或者作业识别号
kill -KILL pid
或者kill -9 pid 强制杀进程

echo–把文本输出到标准输出,例如终端

基本用法:echo "hello world"或 echo hello world
和变量使用:定义变量 myvar=“i am anthony” 定义变量时,等号前后不能有空格
echo $myvar

定义变量 x=0
echo "the value of x is $x"

上面的变量只有在当前终端窗口有效,如果你关闭了当前终端窗口,就识别不了x和myvar
echo处理字符转义的输出: echo “some \test”
输出 some est —\t表示制表符,就是一个tab输出的空格
echo “some \ntest”
输出 some
test —\n表示换行

chmod–change mod,修改权限

一个文件有三组权限:用户拥有者,用户组,其他用户
第一个横杠-表示文件,如果是d表示目录。还有可能是l表示链接。
第一组(rw-)表示用户拥有者权限,现在是有读写权限,没有执行权限。
第二组(rw-)表示用户组权限,现在是有读写权限,没有执行权限。
第三组(r–)表示其他权限,就是针对其他所有人,现在只有读的权限
chmod g+x file,给用户组添加执行权限,g表示用户组u表示用户o表示其他+表示添加-表示减少=表示赋值
chmod u+rw,g=rw,o+r file,分别设置三个组不同权限,逗号隔开

useradd是添加一个用户的命令

同样反过来写adduser也是可以的;区别是:useradd只添加了用户,没有为用户添加目录,adduser自动为创建的用户指定主目录,会在创建时输入用户密码

passwd是对某一个用户进行密码设置。

在使用者两个命令之前,前面要加上sudo命令,因为做这些事情是需要管理员权限的。

userdel username 删除用户但是不删除家目录

userdel -r username 删除用户和用户的家目录

groups 显示当前用户所在组,因为一个用户可以在多个组,所以是groups

cat /etc/group  查看当前系统所有组
sudo groupadd java :添加一个用户组
sudo groupdel java :删除一个用户组
sudo gpasswd -a shiyanlou java:将用户shiyanlou添加到java组
sudo gpasswd -d shiyanlou java: 将用户shiyanlou从组java中删除

.bashrc或者.zashrc作用是用来设置启动一个终端的脚本文件

查看资源相关的命令

  1. df 是显示磁盘使用情况
    df -h 人类可读显示磁盘情况

  2. du是显示文件占用磁盘大小
    du -h

  3. free是查看内存使用情况
    free -k -k (KB)
    free -m 以兆为单位
    free -g (GB)

查看日志

第一种:查看实时变化的日志(比较吃内存)
tail -100f filename 实时监控100行日志,-f表示fllow的意思
tail -n 20 filename (显示filename最后20行) -n 是显示行号
tail -n +5 filename (从第5行开始显示文件)

head -n 10 test.log 查询日志文件中的头10行日志
head -n -10 test.log 查询最后10行之前的所有日志

第二种:搜索关键字附近的日志
cat -n test.log |grep “debug” 查询关键字的日志(常用!~)
其他情况:
cat filename | grep -C 5 ‘关键字’ (显示日志里匹配字串那行以及前后5行)
cat filename | grep -B 5 ‘关键字’ (显示匹配字串及前5行)
cat filename | grep -A 5 ‘关键字’ (显示匹配字串及后5行)

第三种:进入编辑查找:vi(vim)
1、进入vim编辑模式:vim filename
2、输入“/关键字”,按enter键查找
3、查找下一个,按“n”即可
退出:按ESC键后,接着再输入:号时,vi会在屏幕的最下方等待我们输入命令
wq! 保存退出;
q! 不保存退出;
其他情况:
/关键字 注:正向查找,按n键把光标移动到下一个符合条件的地方
?关键字 注:反向查找,按shift+n 键,把光标移动到下一个符合条件的

watch–设置刷新时间的命令

whatis watch – 就是解释说明:设置一个程序的刷新时间间隔
watch free -m 可以查看默认的时间间隔是2秒
watch -n 1 free -m 设置1秒刷新

find 查找文件

find /dir1 -name *.txt

wc–word count 单词统计的意思

wc -l filename 显示文件内容的行数
wc -c filename 显示文件内容的字节数
wc -w filename 显示文件内容的单词数

cal -calendar 日历单词的简写

cal 或 cal -1 查看当前月份日历
ncal 竖向显示日历
cal 2020 显示一年日历
cal 3 2020 查看2020年3月的日历
cal -3查看最近3个月的日历

data --查看当前时间和日期

data +%d%h%y %d 表示day %h 表示月份 %y 表示年份
data “+%d/%h/%y” 显示的时候用斜杠隔开
data +%T 显示 时分秒
data +%H 显示 小时
data -s “27/3/2020 16:03:34” 设置时间,-s 表示settings

在一个终端一次运行多个命令

1.用分号隔开 ls;pwd
2.用两个链接股&&
如果命令之间有一个命令写错,不影响其他命令执行

ifconfig – 用来查看网络相关的一个命令

直接ifconfig : eth0 表示有线网卡1,eth1表示有线网卡2,wth0表示无线网卡
可以看到硬件地址,IP地址,网关和接收数据包等
ifconfig eth0
ifconfig eth0 up 开启有线网卡1
ifconfig eth0 down 禁用有线网卡1

tar压缩包和解压命令

前提准备 cd Desktop
mkdir file
cd file
cat > file.txt
输入内容
cd Desktop
tar -cvf abc.tar file -c是create,创建;-v是verbose,就是可以看到发生了什么;-f是file的意思,f后面一定要紧跟文件
解压tar包
tar -xvf abc.tar -x是extract 摘取的意思
如何创建*.tar.gz文件
tar -czvf file -z一定要在-vf前面
解压*.tar.gz
tar -xzvf file

grep – global search regular expression and point out the line,意思是找到符合一定规则的字符并打印该行到终端

grep 主要用来在文件中匹配摘取一些按照一定规则的字符串
grep -n “something” file.txt -n表示number,显示行号
在多个文件中查找
grep -n “something” file1.txt file2.txt file3.txt
或者grep -n “something” *
grep -i “something” file.txt -i是ignore 的意思,忽略大小写
grep -v "something"表示不包含something的字段,-v表示invert match不匹配的意思

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值