linux学习笔记
学习ubuntu笔记整理。
linux基础命令
1.cat命令
cat是“concatenate”的缩写,它允许创建单个或者多个文件,查看文件内容、连接文件以及在终端中显示。基本语法:
cat [OPTION] [FILE]
2.ldd命令
ldd命令全称为list dynamic dependencies(列出动态依赖).
ldd [OPTION] [FILE]
3.grep命令
grep (global regular expression)命令用于查找文件中符合条件的字符串或者正则表达式。
grep [OPTIONS] pattern [FILE] //具体查询grep --help
如查询CPU的数量(核数),可以使用如下命令:
grep -c porocessor /proc/cpuinfo //-c为统计数目
4.time命令
time用于测量指定指令执行时所需要的时间,并反映其运行时间和执行时间,如:
time sleep 10 //计算real、user、sys时间
5.ps命令
ps(process status)命令用于显示当前进程的状态,类似于任务管理器。
ps [OPTIONS] //ps --help查看详细解释
例如显示所有进程的详细状态:
ps aux
显示进程的完整状态:
ps -ef //e:显示所有进程;f:全格式显示
按照grep命令过滤特定模式的进程,如下:
ps -ef | grep <pattern>
6.free命令
free命令获取系统搭载的内存总量和已消耗的内存量,单位为KB。
free [OPTIONS] //如-h表示以合适的单位显示内存状态
total:表示系统搭载的物理内存总量;
free:表示表面上可用内存量;
buff/cache:缓冲区缓存与页面缓存;
available: 实际的可用内存量;
7.echo命令
echo命令用于创建一个指定内容的文件。如果文件已经存在,则会覆盖原有内容。
echo [CONTENT] >[FILENAME] //例如 echo hello >test.txt
查询其帮助,可用sudo echo --help.
8.rm命令
rm (remove)可以删除文件或者目录
rm [OPTION] [文件或者目录] // -f表示强制删除,-r递归删除,可以删除目录
9.mkdir命令
mkdir(make directory)表示创建目录, -p表示嵌套式文件夹,-v表示显示创建的目录信息,-m设置目录权限
mkdir [OPTION] [目录]
10.dd命令
dd (data duplicator)命令用来复制一份文件,或者进行格式转换。
dd [OPTION] //if=**输入文件名,of=输出文件名
11.df/du命令
df (disk free)命令用来查看文件系统所用的存储空间。
df -h //查看磁盘信息,-h是以合适单位来显示
du (disk usage)命令来显示当前路径下磁盘的使用情况,即各文件的大小。
du -h //以合适的单位显示当前文件内各文件的大小
12.ls/ll 命令
ls(list)命令用于列出或者显示目录的内容,通常以不同颜色表示不同类型的文件。
ls [OPTIONS] /path //如-l表示使用长格式输出文件信息。
ll不是一个真实存在的命令,只是"ls -l -color = auto"的别名而已。默认列出当前目录内文件的详细属性信息,包含权限、所属、修改时间以及所占空间等信息。
ll [OPTIONS] [FILENAME]
13.mkfs命令
mkfs (make file system) ,该命令用于在特定的分区上创建文件系统。
mkfs [-V] [-t fstype] [fs-options] filesys [blocks]
-V : 详细显示模式
-t : 给定档案系统的型式,Linux 的预设值为 ext2
-c : 在制做档案系统前,检查该partition 是否有坏轨
-l bad_blocks_file : 将有坏轨的block资料加到 bad_blocks_file 里面
block : 给定 block 的大小
14.strings命令
打印文件中可打印的字符串,可以是文本文件,可执行文件,动态链接库,静态链接库。
strings [ -a ] [ - ] [ -o ] [ -t Format ] [ -n Number ] [ -Number ] [file ... ]
-a --all:扫描整个文件而不是只扫描目标文件初始化和装载段
-f –print-file-name:在显示字符串前先显示文件名
-n –bytes=[number]:找到并且输出所有NUL终止符序列
-t --radix={o,d,x} :输出字符的位置,基于八进制,十进制或者十六进制
-o :类似–radix=o
-T --target= :指定二进制文件格式
-e --encoding={s,S,b,l,B,L} :选择字符大小和排列顺序:s = 7-bit, S = 8-bit, {b,l} = 16-bit, {B,L} = 32-bit
@ :读取中选项
*
15.mv命令
mv (move)命令用来移动文件或者目录,或者将其改名。
mv [OPTIONS]source dest
参数说明:
-b: 若需覆盖文件,先行备份。
-f: 如果目标文件已经存在,不会询问而直接覆盖;
-i: 若目标文件已经存在时,就会询问是否覆盖;
-u: 若目标文件已经存在,且 source 较新,才会更新;
16.*命令
GUI基础命令
1.Ubuntu 22.04 基于lightdm的锁屏命令
dm-tool lock
2.Ubuntu 22.04由于更改python版本导致Ctrl+Alt+T打开不了终端
比如同时安装了3.10和3.7两个版本,使用以下命令行切换一下python版本,
尝试一下是可以的:
sudo update-alternatives --config python3
3.Ubuntu 安装各类程序
(1).tar.gz程序
a. 首先进行解压
tar -zxvf [FILE]
b. 可能需要重新make, 到./Confighure下面进行make.
cd ./Configure
make
sudo make install
也有可能编译好了,或者直接运行解压出来的文件,如./.sh或者./*.bin.
(2) 使用dpki命令,如下:
sudo dpkg -i file.deb
如下在安裝中遇到依賴的問題,報錯如下:
可以使用以下的命令來修復問題:
sudo apt install -f
再重新安裝一次就可以了。
3.Ubuntu 修改文件夹权限
a. 修改单个文件夹的权限
sudo chmod 600 ××× (只有所有者有读和写的权限)
sudo chmod 644 ××× (所有者有读和写的权限,组用户只有读的权限)
sudo chmod 700 ××× (只有所有者有读和写以及执行的权限)
sudo chmod 666 ××× (每个人都有读和写的权限)
sudo chmod 777 ××× (每个人都有读和写以及执行的权限)
//针对文件夹下面所有文件的权限
sudo chmod -R 777 [FILE]
OS命令
1.系统调用命令集合
(1)strace命令
诊断、说明和调试工具,显示进程的系统调用的信息,可以帮助确定一个程序使用的哪个函数。
strace -o //将跟踪输出写入文件中
(2)$$
、
、
、!、$?命令
获取当前进程的ID,例如:
echo "current process ID is : $$"
另外,$!表示上一个进程的ID; $?表示上一个进程的状态,0为成功,1为失败。
(3)sar命令
Linux系统性能分析工具之一,可以获取进程分别在用户模式和内核模式下运行的时间比例。
sar [options] [-A] [-o file] t [n] //t为采样间隔,A为所有报告的综合,n是采样次数、默认为1.