linux基本命令
常用shell命令:
方向键:查看历史命令
ls(list):查看文件信息
ls -l 显示详细信息
ls -a 显示所有信息 包括隐藏的信息
.当前目录
.. 上一级目录
ls -R 递归显示子目录内容
ls -lrt 按照时间进行排序显示
通配符:* ?
* 代表任意多个字符
?代表任意一个字符
相对路径和绝对路径
以 / 开头为绝对路径
不以 / 开头的为相对路径
cd --change dir 更改目录
cd / cd ~ /cd $HOME / cd 家目录绝对路径 代表切换到家目录
cd - 切换到上一次目录
itheima@ubuntu:~/linux$
itheima 代表用户
ubuntu 代表机器名
~ 代表家目录
~/linux 当前所在目录
$ 代表普通用户
root @ ubuntu:/homr/itheima# 管理员对应的 #
pwd :查看当前工作目录
tree: 如果不存在需要安装
sudo apt-get install tree
mkdir 创建目录
mkdir [option] dirname1 dirname2.....
mkdir dir1 dir2 生成dir1 dir2 目录
mkdir -p dir3/dir
递归创建目录,一次可以创建多级目录,即使上级目录不存在,会按目录层级自动创建目录,在dir3不存在的情况下,必须使用-p命令 否则创建失败
rmdir 删除目录
不能删除非空目录,空目录:目录下只有 。和 。。
rmdir -p 递归删除目录
which command 显示命令所在路径
which ls 显示ls命令所在路径
根目录 /
/bin 可执行文件所在目录
/media (自动)挂载设备媒体 U盘 光驱等
/ mnt (手动) 让用户挂载别的文件系统
/ usr unix system recources 庞大和复杂的目录,很多应用安装于此目录
/ usr/local 用户自己安装软件的目录
/ ship 超级管理员root的可执行文件目录
/ proc 这个目录是系统内存的映射,会保留进程进行的一些信息
/ etc 系统软件的启动和配置目录
/etc/passwd 用户存放文件 man 5 passwd 查看文件格式
/dev 设备文件所在目录
Linux一切皆文件
文件操作相关
touch 命令 创建文件 如果文件不存在则创建 如果存在则更改文件访问时间
touch [option] filename1 filename2.....
rm 命令 删除文件或目录
-r 递归删除文件或目录
-rf rm -rf * 删除当前目录内全部内容(强制删除、慎用)
cp [option] srcpath despath
despath 是一个目录,将srcpath 拷贝到despath目录下
despath 不是一个目录,在despath上级目录(.../xxx),在.../ 下创建一个xxx文件,并将srcpath的内容拷贝进来
cp -r 递归拷贝
拷贝目录的时候需要考虑底层的目录是否存在 若despath不存在,只能包括一级目录,不能包括多级目录,
mv 移动文件或目录
文件内容相关
cat:直接显示文件信息
cat filename
more 和 less
more:回车 逐行显示
空格 一页一页显示
less:回车或者方向键可以反复查看文件内容
head 和 tail 默可以设置显示行数认显示10行 -n
head 查看文件头
-n
tail查看文件尾
-n
-f一直追踪到文件尾 网络服务器中 方便调试 文件动态变化 不退出 追踪文件变化
统计信息相关
tree
wc word count 统计文件内容
-l 行数
-w 单词
-c 字节数
du 显示目录占用情况
du -f
du -f --max-depth=1 显示目录层数
df 显示磁盘空间信息
df -f
df -f --block-size=GB 按照GB统计显示
文件属性和用户用户组
硬连接计数
创建硬链接
ln src des
创建软连接
ln -s src des
删除软硬链接 硬链接计数为0 删除文件
unlink
rm
改变文件权限
chmod [u|g|o|a] [+|-] [r|w|x] filename
用数字的方式改变文件权限
给a.out用户可读可写 组可读可写 其他用户可读
chmod 0664 a.out
注意目录需要有可执行权限才能进入目录
chown 与 chgrp 改变用户改变组
chown 用户:组 文件名|目录
chgrp 组 文件名|目录
sudo chown zino:zino a.out 更改用户和组
查找和检索
find dir [option] 内容
-name 按照名字查找
find ./ -name "*.c"
-type 按照类型查找
find ./ -type f/d/p/l (f: 普通文件 d:目录 p:管道文件 l:符号链接)
-size 按照大小查找
find ./ -size +500M -size -1024M 大于500M 小于1024M 不写加减 为等于
find ./ -maxdepth 1 -size +1M 一级目录
find ./ -maxdepth 2 -size +1M -exec ls -l {} \:
find ./ -maxdepth 2 -size +1M -ok ls -l {} \: 每条指令都提示
find ./ -type l | xargs ls -l xargs 将find命令查找的结果分成若干块输出给后面的指令
grep命令 过滤内容
find ./ -type f | grep txt
grep "被查找的字符串" 文件名
grep "main" *.c
cat main.c | grep main
tail -f main.c | grep main
grep -r "main" dir -r 递归调用 dir 为目录或文件 dir为文件时-r 无意义 dir为目录时 递归调用子目录
grep 基本使用
grep "搜索的字符" 文件名
grep "GPRS" demo.log
grep "GPRS" * 找文件
-c 统计出现次数
grep -c "GPRS" demo.log
-i 不区分大小写
grep -i "GPRS" demo.log
-v 反向匹配
grep -v "GPRS" demo.log
输出除了GPRS以外的所有字符
-n 输出行号
grep -n "GPRS" demo.log
选项可以一起组合使用
grep "需要搜索的内容" 不加文件名阻塞等待
grep “hello” 阻塞等待标准输入
grep bash 阻塞等待标准输入 设备
grep 正则表达式
* 符号 匹配0次或者多次
grep 'go*' demo.log
。符号 匹配除了换行符之外的所有符号
grep ' . ' demo.log
当 。与其他字符一起使用的时候 匹配单个字符
grep 'g..d' demo.log
当单纯只是匹配点这个字符时,用中括号
grep '[.]' demo.log
\{ n, m \} 指定匹配次数 转义字符 \{ \}
grep 'go\{2\}' demo.log 匹配2次O
grep 'go\{2,4\}d' demo.log 匹配2-4次O
^ 表示以。。。开头
grep ‘^root’ /etc/passwd 表示以root为行的开始
$ 表示以。。。结尾
grep ‘false$’ /etc/passwd 表示以false为结尾的行
^$ 空行
grep ‘^$’ /etc/passwd
[] 范围匹配
[0-9]或者[0123456789] 匹配所有数字
[a-z] 匹配所有小写字母
[0-9a-zA-Z] 匹配所有数字和字母
\b 边界匹配
grep ‘\broot\b’ /etc/passwd 匹配只包含root,去除前后边界 去除字母
==root== ==> root
\B 非单词边界匹配
grep ‘\Broot\B’ /etc/passwd 匹配只包含root,去除前后边界 非字母
docroot== ==> docroot
\w 匹配数字 英文字符
grep '\w' /etc/passwd
\W 非数字 英文字符
grep ‘\W’ /etc/passwd
?匹配前一个字符0次或者1次
grep 's\?bin' /etc/passwd 转义使用 与 \?一起使用
+ 匹配前一个字符一次以上
grep ‘ro+t’ /etcpasswd
() 一般与 | 一起使用 多选
grep 's(data|exe)' /etc/passwd 转义使用 \( \) \|
ps aux
ps aux|grep a.out
kill
操作事项
qinuo@123:~$ ./install_repo.sh
-bash: ./install_repo.sh: Permission denied
qinuo@123:~$ chmod 777 install_repo.sh
qinuo@123:~$ ./install_repo.sh
sudo adduser username
一 概述
在ubuntu系统中通过ifconfig查看ip的时候,提示
按照提示输入一下命令行
结果就提示:Waiting for cache lock: Could not get lock /var/lib/dpkg/lock-frontend.
二 问题原因与解决方法
在安装软件包时如果出现Could not get lock /var/lib/dpkg/lock-frontend,说明之前使用apt时出现异常,没有正常关闭,还在运行,原因是我正在升级linux系统吗,后续继续研究,待续。
我们可以先查看apt的进程id,即pid
由于本人在更新系统,所以执行命令的时候提示:Waiting for cache lock: Could not get lock /var/lib/dpkg/lock-frontend.
当系统更新完后就可以正常安装了:
deluser username
1.问题
xxx is not in the sudoers file.This incident will be reported.
2.分析
该问题的根本原因是由于Linux的超级用户权限是由sudo动态赋予的,在新增的用户不会默认赋予sudo权力,因此若需要该用户有sudo的权限,需要根据一定的规则进行赋予。
3.解决方法
以下两种方法都是基于现有的用户能够获取root权限进行,不管是root用户本身还是用户A(用户A能够使用sudo)
3.1 手动修改
1.赋予sudoer文件写权限
sudo chmod u+w /etc/sudoers
2.编辑sudoers文件,给对应的用户添加sudo权限
sudo vi /etc/sudoers
找到如下并参照书写,这里以给用户A添加sudo权限:
root ALL=(ALL:ALL) ALL
添加
A ALL=(ALL:ALL) ALL
3.撤销sudoers的写权限(否则异常)
————————————————
版权声明:本文为CSDN博主「带着希望活下去」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_35746739/article/details/125854786
error.GitError: manifests var:
*** Please tell me who you are.
Run
git config --global user.email "you@example.com"
git config --global user.name "Your Name"
to set your account's default identity.
Omit --global to set the identity only in this repository.
fatal: unable to auto-detect email address (got 'qinuo@123.(none)')
qinuo@123:~$ git config --global user.email "Nuo.Qi@zeekrlife.com"
qinuo@123:~$ git config --global user.name "qinuo"
Git秘钥生成以及Gitlab配置(附以下问题解决方法:Key is invalid Fingerprint cannot be generated)...
最后发现是粘贴的内容有问题,只黏贴了密钥,没有前贴前面的“ssh-rsa” 和后面的邮箱。
谨记:要粘贴pub密钥里面的所有内容(同时注意粘贴不要带换行符)
Linux之scp命令的介绍以及命令行输入密码参数执行方法和常见问题解决
(32条消息) Linux之scp命令的介绍以及命令行输入密码参数执行方法和常见问题解决_听说唐僧不吃肉的博客-CSDN博客_linux scp