工作中常用到的linux命令

  • sudo reboot         重启机器
  • sudo vim /etc/rc.local 修改自启动文件
  • ./       代表目前所在的目录
  • ../    代表上一层目录
  • /      代表根目录
  • cd ..      返回上层目录
  • cd ../../    返回上两级目录
  • cd /home    返回home目录   这时ls会出现用户名
  • cd ~      对于普通用户 ,cd ~ = cd /home/当前用户名   这时的标识为  ~$
  • cd /      跳转到根目录(所有用户共享的目录)  这时的标识为  /$ ,home此时只是一个子目录
  • sudo su     (super user do ) (switch user)   当前用户切换到root ,exit 命令退出
  • su root     切换到root用户            
  • sudo passwd root        设置 root 用户密码
  • rm -rf 文件夹名    删除文件夹  r (recursive)递归文件删除    f (force)就是强制删除  cp 命令同理
  • cp 文件夹名 ./    赋值文件到当前目录     -rf 递归强制复制并覆盖文件
  • sudo chmod 777 文件名         赋文件所有权限
  • sudo chmod 444 文件名         设置文件为只读
  • gedit/vi/vim/cat/head/tail 文件名     查看文件内容
  • tail -f 文件名      查看正在改变的日志文件,文件尾部内容会不断在屏幕上刷新
  • touch 文件名.后缀名       新建一个文件
  • 使用vi/vim的按键   i (insert)进入编辑模式  :wq保存退出  :q不保存退出  :q!强制退出
  • mkdir 目录名        新建一个目录
  • cp 文件1 文件2 目录    将文件1 和文件2 复制到目录中
  • cp -rf 目录1 目录2      将目录1复制到目录2下
  • mv 文件1/目录1 目录2       将文件1或者目录1移动到目录2下
  • mv 旧文件夹名 新文件夹名 重命名一个文件夹
  • pwd      查看当前目录路径
  • which cmake     查看cmake的安装路径
  • ls -a = la ls -l = ll ls -h(human)    显示文件,因为.bashrc 中 alias ll='ls -alF' alias la='ls -A' 别名 +++++++多用ll -h这个命令
  • drwxr-xr-x d代表目录(directory)普通文件-,符号链接l,块设备b,字符设备crwx|r-x|r-x 代表所有者(user)、所属组(group)和其他人(others)的权限;读(r)、写(w)、执行(x)权限,(-)表示没有该权限
  • sudo apt update 修改/etc/apt/source.list 源 ,源去清华源的官网找最新的匹配对应系统的源
  • sudo apt-get install update        在安装软件报错"Unable to locate package"不到包使用
  • conda activate/deactivate       激活 /脱离 虚拟环境
  • Ctrl+Alt+T       打开终端
  • sudo service network-manager restart       重启网络服务
  • sudo systemctl restart NetworkManager.service       重启网络服务
  • ctrl + q    退出 gedit
  • ctrl + m    注释gedit文本(需要安装插件)
  • ps -ef | grep 进程名     ps(process statu)   -ef标准的格式显示进程   |管道命令  grep查找命令
  • sudo kill -9 进程PID号         强制退出进程相当于window下任务管理器结束任务
  • nohup 可执行文件路径 &         表示后台运行该程序
  • nohup .可执行文件路径>可执行文件路径/log.txt 2>&1 & 将程序输出到程序路径下的log.txt, 2>&1:标准错误2重定向到&1标准输出    &表示程序后台运行
  • nohup socat -T 600 UDP4-LISTEN:9999,reuseaddr,fork UDP4:192.168.0.117:10008 >> socat.log 2>&1 & UDP监听9999端口,将消息转发给192.168.0.117:10008,打印信息到socat.log文件,在后台运行
  • tail -f 文件       刷新查看文件尾部
  • ps -ef 中显示tty字段含义解释    tty2串口终端(本机)pts/0(虚拟终端远程连接)pts/2(远程打开的第二个虚拟终端),表明该进程在哪个终端上运行,若与终端无关,则显示?,若为pts/0等,则表示有远程连接到虚拟终端来控制该进程状态
  • xrandr --fb 1920x1080 修改分辨率
  • whereis qmake 查看qmake安装位置 "/usr/lib/x86_64-linux-gnu/qt-default/qtchooser"
  • sudo vim default.conf  修改第一行为 qmake默认路径 v
  • uname -a查看系统信息
  • lsb_release -a  查看系统版本 必须要 -a
  • tar -zxvf 文件.tar.gz        解压缩 .tar.gz 文件 (解压命令使用 -C 来改变解压目录)  (x = extract c = compress v = verbosely    f : file=ARCHIVE 存档包)
  • tar -zcvf 压缩包名.tar.gz 目录名        将目录压缩为.tar.gz
  • tar -xvf 文件.tar -C 指定目录    解压缩 .tar 文件到指定目录
  • tar -cvf 压缩包名.tar 目录名   将目录压缩为.tar  
  • tar -Jxvf     解压缩 .xz 文件
  • tar --help  查看更多,不熟悉的命令都要看 help  ,看工程首先看readme,然后再看目录结构,从头文件到cpp实现
  • nc -lk 8000 永久监听TCP端口   nc -netcat
  • nc -luk 8000 永久监听UDP端口(临时监听把k去掉)   注意: udp端口没有listen的状态
  • route -n 显示路由
  • pkill -f + 程序名
  • ln -sf 源文件/目录 软链接   s = symbolic    f = force,记得要使用绝对路径,不然容易报错“Too many levels of symbolic links”
  • find /usr/lib/ -type f -newermt '2024-01-01' -print 找到2024年之后的文件  -type f 文件
  • find /usr/lib/ -type d -newermt '2024-01-01' -exec rm -rf {} +  删除2024年之后的目录,d表示找目录
  • find / -name 文件名 根目录下找某个文件
  • find -type d或者f -name 文件名 默认当前目录下找文件或目录
  • tree -L 2 -d 查看目录结构 指定层级2和只显示目录
  • ls /usr/bin | grep fl* | wc -l 查找文件并计数 ls | grep /usr/bin/fl* 错误
  • grep -r "string" ./ 当前目录文件中查找字符串 string,grep字符串不能用*
  • sed awk 编辑匹配到的文本 、 格式化文本,对文本进行较复杂格式处理
  • lsblk 查看所有硬盘和分区大小
  • df -h df(disk free) -h(human) 查看已挂载的硬盘大小
  • sudo mount /dev/nvme0n1 /mnt/ssd 手动挂载硬盘
  • sudo blkid /dev/nvme0n1 获取硬盘UUID
  • id -u | id -g # 查看当前用户的 UID=1000 、GID=1000
  • UUID=3e37b490-c695-4590-b41a-a3329ec31d08 /home/orangepi/SSD ext4 defaults,noatime 0 2 修改/etc/fstab自动挂载硬盘,详细可去了解挂载参数
  • sudo chown -R orangepi:orangepi /home/orangepi/SSD 修改挂载点目录权限为用户权限,而不是root权限
  • ls -ld 目录 查看目录的所有者和权限
  • pkg-config --help
  • g++ --help
  • /etc/network/interfaces 是配置网路IP的文件 中有这个指令  source-directory
  • /etc/network/interfaces.d 用于将指定目录中的所有文件包含到当前的网络配置中。它允许将网络接口的配置分散到多个文件中,从而提高配置的组织性和可维护性,实际配置网络的在 interfaces.d 目录中 有eth0,1等
  • sudo passwd root 改变root密码  将 /etc/ssh/sshd_config中 的 PermitRootLogin prohibit-password  改为 yes即可用root通过ssh登录 ,mobaxterm的sftp窗口处理系统级别的文件
  • ip route help/add/del default via 192.168.0.1 dev eth0 onlink    暂时(帮助/添加/删除)默认路由  格式:default via 192.168.0.1 dev eth0  + 参数格式(onlink 、 proto dhcp 、metric 600 、src IP 、table main 等等 )
  • 可以添加多个路由 metric越小 选哪个路由(比如区分无线网卡和有线网卡的路由,有线没网,无线有网,则无线默认路由的metric要小一些,才能上网)
  • nvcc --version  查看cuda版本
  • nvidia-smi  查看cuda版本
  • tegrastats    是 NVIDIA 提供的一个命令行工具,可以实时监控 Jetson 设备的系统资源,包括 GPU 使用率、内存使用率、CPU 使用率等
  • dmesg -c 清除内核日志缓冲区信息 c = clear dmesg -w 动态打印内核日志信息 w = wait
  • lsusb 查看USB总线上挂载的设备号、4位厂商号:4位产品号 lsusb -t 查看USB设备物理上的连接关系
  • sudo lsusb -v 查看设备固件信息 lsusb -v -d 04b4:7510 | grep -i "bcdUVC"查看USB摄像头支持的UVC标准 bcdUVC 1.10 = 0x0110 则支持 UVC1.1标准
  • modinfo uvcvideo 查看当前linux系统的uvcvideo版本
  • ffmpeg -i /dev/video0 -vf "setpts=PTS-STARTPTS" -f null - 测试USB摄像头流的命令
  • 最后 换镜像解决的v4l2测试USB摄像头卡顿的问题
  • du -sh 文件(夹) 查看文件(夹)大小 (s = summarize)
  • sudo du -h --max-depth=1 /usr 查看一个层目录大小
  • find ./ -maxdepth 1 -type f | wc -l 查看目录中的文件个数
  • mv -i 旧文件(夹) 新文件(夹) 重命名
  • tee 文件名 从标准输入读取数据,并将结果同时输出到文件和标准输出 比重定向">"多了个在终端显示
  • stat file1 file2 查看文件inode(数据结构) 信息,比ls更详细
  • readelf *.so | grep Formatfile *.so   或 hexdump -C *.so | head -n 4  或hexdump -C *.so | sed -n '2p' 查看elf(Executable and Linkable Format)文件信息-架构,2p 第二行打印,hexdump 以十六进制格式显示文件内容
  • diff 文件1 文件2 比较两个文件的不同, “< ” 表示左边文件1的内容,“>” 表示右边文件2的内容
posted @ 2024-09-15 15:43  变秃了也就变强了  阅读(25)  评论(0)    收藏  举报  来源