Linux useful commands
#find the binary files
find . -type f | perl -lne 'print if -B'
another method is grep
grep -r -I -L -Z . | xargs -0 ls -l
-L : list the binary file
-r : rescusive
-Z :printf NULl byte after filename
xargs: run command, here is 'ls -l'
-0 : is the parameter of xargs
#show directory size
du -h
du : disk usage
#history
histoy to list the histoy commands
#show the file path
find . -type f
other options can be : -type [bcdpflsD], d: is only directory
example:
./u-boot-imx_%.bbappend
./u-boot-imx/Kconfig.patch
./u-boot-imx/board/bosch/ulpanel/plugin.S
#list the file permission in number e.g. 666
stat -c "%a %n" *
#compress a current date folder
DIR=$(date "+%Y%m%d")
tar -zcf $DIR.tar.gz $DIR
#change the real name of user
sudo chfn -f "FirstName LastName" *username*
#backup file auto create sub folders
rsync -a -r ~/Documents/newsys/yocto/zeus/build/conf $DIR/
rsync -a -r ~/Documents/newsys/yocto/zeus/meta-ul_bsp $DIR/
#Putty
sudo apt-get install putty
after plug-in the imx6ullevk board to linux, the device is /dev/ttyUSB0
In my linux, I cannot open this device because I do not belong to ttyUSB0 groups (root dialout).
1)check the you belong. groups username
2)add to dialout group
>sudo usermod -a -G dialout zjb
or you can direct change the file : sudo vim /etc/group
3) you need restart or logout
#Quick copy the selected text as input in terminate
using middle button of mouse.
#Create a series of folder
install -d arch/arm/boot/dts
or mkdir -p arch/arm/boot/dts
tree .
.
└── arch
└── arm
└── boot
└── dts
#Info
Almost all the standard Linux programming tools (including ld, the linker; as, the assembler; and gprof, the profiler) come with useful Info pages.
e.g. info uname
#cat misc.
cat xxx | more
cat xxx | less
cat > xxx , create a file xxx
cat -n xxx | more with line number information.
cat aaa.txt >> bbb.txt, the aaa.txt will be appened to bbb.txt
#create a user belong to root group
>sudo su
>adduser yourname
>usermod -aG sudo username
>su - username
>sudo whoami
su : switch user
sudo : The sudo command allows you to run programs as another user, by default the root user. If you spend a lot of time on the command line, sudo is one of the commands that you will use quite frequently.
#get the user group
>groups
>id
#using awk to get the device major number
in a shell file, to get the device major number
major =$(awk '/scull/ print {$1}' /proc/devices)
#tail a file with auto update when file change
tail -f /var/log/syslog
#makefile with detail commands infomation
make V = 1 , which will show the detailed commands
#To switch root user
sudo su switch to root user
using exit to go back to login user
#To check which driver is mounting for CD-ROM
just typeing mount in terminate
/dev/sda2 on / type ext4 (rw,errors=remount-ro)
proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
none on /sys/fs/cgroup type tmpfs (rw)
none on /sys/fs/fuse/connections type fusectl (rw)
none on /sys/kernel/debug type debugfs (rw)
none on /sys/kernel/security type securityfs (rw)
none on /sys/firmware/efi/efivars type efivarfs (rw)
udev on /dev type devtmpfs (rw,mode=)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=,mode=)
tmpfs on /run type tmpfs (rw,noexec,nosuid,size=%,mode=)
none on /run/lock type tmpfs (rw,noexec,nosuid,nodev,size=)
none on /run/shm type tmpfs (rw,nosuid,nodev)
none on /run/user type tmpfs (rw,noexec,nosuid,nodev,size=,mode=)
none on /sys/fs/pstore type pstore (rw)
/dev/sda1 on /boot/efi type vfat (rw)
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,noexec,nosuid,nodev)
systemd on /sys/fs/cgroup/systemd type cgroup (rw,noexec,nosuid,nodev,none,name=systemd)
gvfsd-fuse on /run/user//gvfs type fuse.gvfsd-fuse (rw,nosuid,nodev,user=zjb)
/dev/sr0 on /media/zjb/UDF Volume type udf (ro,nosuid,nodev,uid=1000,gid=1000,iocharset=utf8,umask=0077,uhelper=udisks2)
#To create ISO from CD-ROM
dd if=source of=destination
example, dd if=/dev/sr0 of=windows.iso
#To create ISO from folder
apt-get install genisoimage
genisoimage -o output_image.iso -J -R -l directory_name
-J -R -l is to keep the original filename
#To install .deb file
sudo dpkg -i /path/to/deb/file
sudo apt install ./name.deb
#source bash_file
source is a Unix command that evaluates the file following the command, as a list of commands, executed in the current context
#lz4c not found
apt-get install liblz4-tool
#mkfs.ubifs not found
apt-get install mtd-utils
#Installing the ncurses library which may used in make menuconfig
libncurses5-dev : Developer’s libraries for ncurses
libncursesw5-dev : Developer’s libraries for ncursesw
#tree list the folder/file in a tree way
tree -d directory only
tree -d -f full file.
#.bashrc
.bashrc文件主要保存个人的一些个性化设置,如命令别名、路径等。
.bash_profile'只在会话开始时被读取一次,而'.bashrc'则每次打开新的终端时,都要被读取。
要定义一个全局变量,使在以后打开的终端中生效,您需要将局部变量输出(export),可以用"export"命令:
export PATH=$PATH:/some/directory
#get the inserted disk or sd card
sudo fdisk -l
or using
lsblk
so you can find the usb device is on media/xxxx, you can visit by cd media/xxx
#generate the patch file
e.g. diff -Nupr --no-dereference xyssl-0.8/ xyssl-0.8-dll/ >xyssl.patch
#find a file
find . -name xxx.file
#grep a word
grep [options] pattern [files]
grep yocto readme.txt, search yocto in readme.txt file
grep 'yocto\|org' readme.txt , search yocto or org in readme.txt file
ps -aux | grep timer, only list the timer process in ps output
example below..
grep -rnw '/path/to/somewhere/' -e 'pattern'
-r
or-R
is recursive,-n
is line number, and-w
stands for match the whole word.-l
(lower-case L) can be added to just give the file name of matching files.
Along with these, --exclude
, --include
, --exclude-dir
flags could be used for efficient searching:
This will only search through those files which have .c or .h extensions:
grep --include=\*.{c,h} -rnw '/path/to/somewhere/' -e "pattern"
This will exclude searching all the files ending with .o extension:
grep --exclude=*.o -rnw '/path/to/somewhere/' -e "pattern"
For directories it's possible to exclude a particular directory(ies) through
--exclude-dir
parameter. For example, this will exclude the dirs dir1/, dir2/ and all of them matching *.dst/:grep --exclude-dir={dir1,dir2,*.dst} -rnw '/path/to/somewhere/' -e "pattern"
This works very well for me, to achieve almost the same purpose like yours.
For more options check man grep
.
#Linux 下计算代码行数的工具
cloc
#source and .
you can replace the first . as source, example . ./oe-init-build-env, you can run as : source ./oe-init-build-env,
source is a shell built-in command which is used to read and execute the content of a file(generally set of commands), passed as an argument in the current shell script. It has a synonym in .
#using samba to visit network driver
1) Install cifs tool:
sudo apt-get install cifs-utils
2) Create the local folder for mount (I would recommend you not to create these folder directly under your home directory, because it cause it slowly to every time you open your home directory)
~$ mkdir ~/RND-tool
3) create the credentials
~$ gedit ~/.smbcredentials
4) Add the following content to it (not include ‘[‘&’]’):
username=[ user name]
password=[password]
Save the file
1) Change the permission:
~$ chmod 600 ~/.smbcredentials
2) Edit /etc/fstab
~$ sudo gedit /etc/fstab
3) add the following content: network disk folder
//10.54.128.19/folder$ /home/[your ubuntu user name]/RND-tool cifs uid=[your ubuntu user id],gid=[your ubuntu user group id],credentials=/home/[your ubuntu user name]/.smbcredentials,iocharset=utf8,sec=ntlm,noserverino 0 0
Save the file and,
**** in unbutun 18.04.
//10.54.128.19/folder$ /home/[your ubuntu user name]/RND-tool cifs uid=[your ubuntu user id],gid=[your ubuntu user group id],credentials=/home/[your ubuntu user name]/.smbcredentials ,iocharset=utf8 0 0
Restart Ubuntu to test R disk if works.
4) ~$ sudo mount –a
If the last step is failed, don’t worry, just reboot system, and then it will works if previous operations are correct. Now you can access network disk.
Note: mount -a is to mount all stuff from /etc/fstab
This command can be tested in terminal before fstab.
sudo mount //10.54.128.19/folder$ /home/[your ubuntu user name]/RND-tool -t cifs -o uid=[your ubuntu user id],gid=[your ubuntu user group id],credentials=/home/[your ubuntu user name]/.smbcredentials ,iocharset=utf8
sudo umount RND-tool
#Shell file Error
Syntax error: end of file unexpected (expecting "then")
The problem is the shell file is windows format, so cover to unix format.
#Find the location of program
which xxx
dpkg -listfiles xxx
#type to know the command
type -a xx
examples:
type -a ls
type -a cd
cd is a shell buildin
#Show system information
uname -a, will show all information of system
#file redirection
">" is the output redirection in linux command
e.g. ls -l >abc.txt, the ls output will be in abc.txt, the abc.txt will be overried.
e.g. ls -l >>abc.txt same as before but the abc.txt will not be overrided.
e.g. ls -l >abc.txt 2>&1, here 2 is stderr, redirect the stderr to abc.txt
also "<" is input redirection.
#get the last command return value
echo $?
#ipcs/ipcrm
ipcs lists the system interprocess communication, incl. share memory, queue, semphore.
ipcrm remove a IPC e.g. share memory .
#mount
mount [-t vfstype] [-o options] device directory
e.g. mount -t ext4 /dev/mmcblk0p1 /mnt
#chmod
e.g. chmod 777 abc 7 = 4+2+1
#Change password
- Open the terminal application by pressing Ctrl + Alt + T
- To change a password for user named tom in Ubuntu, type:
- sudo passwd tom
- To change a password for root user on Ubuntu Linux, run:
- sudo passwd root
- And to change your own password for Ubuntu, execute:
- passwd
Linux useful commands的更多相关文章
- linux basic commands
1. man - an interface to the on-line reference manuals $man man 2. apt - advanced package tool SEE A ...
- Linux Basis --- commands of vi
EDIT mode to GENERAL mode: press ESC general mode: CLOSE FILE :q! :force to close the file but no ...
- Linux Network Commands
https://www.tecmint.com/linux-network-configuration-and-troubleshooting-commands/ http://www.tldp.or ...
- Linux YUM (Yellowdog Updater, Modified) Commands for Package Management
Linux YUM (Yellowdog Updater, Modified) Commands for Package Management In this article, we will lea ...
- 13 Basic Cat Command Examples in Linux(转) Linux中cat命令的13中基本用法
Cat (串联) 命令是Linux/Unix开源系统中比较常用的一个命令.我们可以通过Cat命令创建一个或多个文件,查看文件内容,串联文件并将内容输出到终端设备或新的文件当中,这篇文章我们将会以实例的 ...
- Linux 各类设置、配置、使用技巧参考,Linux使用集锦
========== 参考格式 (新增记录时,复制粘贴在下)============= [日期]: <标题> 参考链接ref1: 参考链接ref2: 正文: ========== 参考格式 ...
- 系统管理员需知:25个Linux服务器安全技巧(转)
来源:51CTO 作者:51CTO 大家都认为 Linux 默认是安全的,我大体是认可的 (这是个有争议的话题).Linux默认确实有内置的安全模型.你需要打开它并且对其进行定制,这样才能 ...
- 13 Basic Cat Command Examples in Linux
FROM: http://www.tecmint.com/13-basic-cat-command-examples-in-linux/ The cat (short for “concatenate ...
- java使用Runtime.exec()运行windwos dos或linux shell命令
使用Runtime.exec()运行windwos dos或linux shell命令,按实际情况具体测试 实例代码: package com.bookoo.test.command; imp ...
随机推荐
- CentOS7.3上如何安装Apache/2.4.34
1)卸载系统自带的httpd Centos可能自带了httpd,但是版本可能会较低,执行下面的命令检测是否已经安装了httpd rpm -qa | grep httpd 如果检测已经安装了二进制的ht ...
- JQUERY的属性进行操作
Jquery方式操作属性(attribute) $().attr(属性名称); //获得属性信息值 $().attr(属性名称,值); //设置属性的信息 $().removeAttr(属性 ...
- Windows Server 2012 R2域控制器部署
1. 概述 该文档描述了在Windows 2012R2 系统上搭建域控的方式. 2. 具体步骤 2.1 首先我们先配置好IP地址.计算名(默认的计算机名比较长,后期其它计算机加入域控的时候需要输入比较 ...
- 传统企业IT为什么对微服务叶公好龙的心态?(转)
这两年来,“微服务”.“云计算”.“大数据”.“人工智能”的概念在IT界成了新的宠儿:珠联壁合.声名远播.势如破竹.如日中天!从实践落地的情况来看:微服务诞生于互联网,当然是首先在互联网界遍地开花,高 ...
- sass compass config.rb
require 'compass/import-once/activate' # Require any additional compass plugins here. # Set this to ...
- excel中如何把文本转换为数字
今天被一个小问题难住了,本人用自己开发的成绩分析软件统计学校成绩,数据由excel导入,给我的数据全部是文本型,其实也不难,主要是我的软件是早期开发的,没有考虑这个问题,结果这个问题被美女老师解决了 ...
- vuex-getter
store 的计算属性. getter 的返回值会根据它的依赖被缓存起来,且只有当它的依赖值发生了改变才会被重新计算 const store = new Vuex.Store({ state: { t ...
- C++ 抽象类与接口
1. 抽象类 在面向对象编程中,抽象类是一种只能定义类型,不能生成对象的类,它是对一系列看上去不同,但是本质相同的具体概念的抽象.最典型的的抽象类就是”图形”,三角形.矩形.梯形都是图形,它们都具有 ...
- 有关Java垃圾回收的几个问题
1.Java垃圾回收有什么目的?什么时候进行垃圾回收? 答:垃圾回收的目的是识别并丢弃应用中不再使用的对象以释放和重用资源. 2.System.gc()和Runtime.gc()会做什么事情? 答:这 ...
- 指导手册02:伪分布式安装Hadoop(ubuntuLinux)
指导手册02:伪分布式安装Hadoop(ubuntuLinux) Part 1:安装及配置虚拟机 1.安装Linux. 1.安装Ubuntu1604 64位系统 2.设置语言,能输入中文 3.创建 ...