{"id":506,"date":"2018-03-12T12:21:21","date_gmt":"2018-03-12T12:21:21","guid":{"rendered":"http:\/\/www.codeinsightacademy.com\/blog\/?page_id=506"},"modified":"2024-08-29T04:01:33","modified_gmt":"2024-08-29T04:01:33","slug":"linux","status":"publish","type":"page","link":"https:\/\/codeinsightacademy.com\/blog\/infrastructure\/linux\/","title":{"rendered":"Linux"},"content":{"rendered":"\n<p>search previously run command from history<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Ctrl + R\n#then type word\nagain press Ctrl + R till you find the command\nhit enter once you find the command or hit right arrow -&gt; to edit command<\/code><\/pre>\n\n\n\n<p>list running processes<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ps aux\nps aux | grep process_name\nwatch \"ps aux | grep php\"<\/code><\/pre>\n\n\n\n<p>kill running process<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>kill -9 processid\nkillall -9 chrome<\/code><\/pre>\n\n\n\n<p>check linux version<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>cat \/etc\/os-release<\/code><\/pre>\n\n\n\n<p>check configuration<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>cat \/etc\/cpuinfo\ncat \/etc\/meminfo\ntop\nhtop<\/code><\/pre>\n\n\n\n<p>check hard disk space<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>df -h<\/code><\/pre>\n\n\n\n<p>check current directory space<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>du -sch directory_path<\/code><\/pre>\n\n\n\n<p>create new directory<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>mkdir &lt;directoryname&gt;\nmkdir -p path\/directory\/subdirectory<\/code><\/pre>\n\n\n\n<p>change file\/directory permission<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>#to give all permission i.e. read write and execute\nsudo chmod -Rf 777 &#91;file_name\/folder_name]\n\n#to give executable access to owner, group and other\nsudo chmod +x &#91;file_name\/folder_name]\n\n#to give owner write access\nsudo chmod u+w &#91;file_name\/folder_name]\n\n#to give group write access\nsudo chmod g+r &#91;file_name\/folder_name]\n\n#to give other execute access\nsudo chmod o+x &#91;file_name\/folder_name]<\/code><\/pre>\n\n\n\n<p>ssh Connection<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ssh account_name@system_name\/address\ne.g.: ssh root@192.168.36.39<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>ssh -i pemfile.pem user@ip\/host\ne.g. ssh -i blog.pem ubuntu@192.168.36.1<\/code><\/pre>\n\n\n\n<p>ssh connection with port number and server alive interval<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ssh -p 1234 -o ServerAliveInterval=60 root@192.168.41.44<\/code><\/pre>\n\n\n\n<p>to exit or logout from server<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>jobs\n#delete all jobs\nCtrl + D\nOR\nexit;<\/code><\/pre>\n\n\n\n<p>To get ssh public key<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>cat ~\/.ssh\/id_rsa.pub<\/code><\/pre>\n\n\n\n<p>To create new ssh key<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>cd ~\nssh-keygen -t rsa<\/code><\/pre>\n\n\n\n<p>To add ssh public key on remote server<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ssh-copy-id root@192.168.169.123\nOR\nssh-copy-id -i ~\/.ssh\/id_rsa.pub root@192.168.169.123\nOR\n#you can directly copy ssh public key on remote server in file\n~\/.ssh\/authorized_tokens\n\n#to copy ssh key of client\ncat ~\/.ssh\/id_rsa.pub<\/code><\/pre>\n\n\n\n<p>Once you copy ssh key on remote host you won&#8217;t need to type password again and again.<br>This is the most secure way to make ssh connection with remote host<\/p>\n\n\n\n<p>to view large file<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>less filename<\/code><\/pre>\n\n\n\n<p>to view small file<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>cat filename<\/code><\/pre>\n\n\n\n<p>to open file in watch mode<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>tail -f filename\npress Control + C to cancel<\/code><\/pre>\n\n\n\n<p>list files and directories<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ls\nls -l\nls -larth\nls -larth *.txt\nls -larth someword*.extension\n\n#list only directories\nls -ld *\/\n\n#list only files\nls -p | grep -v \/<\/code><\/pre>\n\n\n\n<p>Find perticular file in directory<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>find directory_path -name *pattern*.extension\nfind . -name *.csv<\/code><\/pre>\n\n\n\n<p>copy file \/ server copy file<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>cp src_file_path dest_file_path\nscp file user@192.168.41.44:\/tmp\/\nscp user@192.168.41.44:\/root\/file dest_path<\/code><\/pre>\n\n\n\n<p>move \/ rename file<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>mv src_file_path dest_file_path<\/code><\/pre>\n\n\n\n<p>search word in directory<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>grep word directory_path -inrl\ngrep word directory_path -inr\ngrep word filename\ngrep word filename -A 10 -B 10\n#where -A 10 will show 10 lines after and -B 10 will show 10 lines before word<\/code><\/pre>\n\n\n\n<p>vimdiff difference between 2 files<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>vimdiff file1 file2<\/code><\/pre>\n\n\n\n<p>directory difference between 2 direcotories<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>:DirDiff dir1 dir2<\/code><\/pre>\n\n\n\n<p>to find file in file system<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>locate filename<\/code><\/pre>\n\n\n\n<p>update filesystem<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>updatedb &amp;<\/code><\/pre>\n\n\n\n<p>to check log<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>tail -f \/var\/log\/logfile\ntail -f \/var\/log\/logfile | grep word<\/code><\/pre>\n\n\n\n<p>to see previously run command<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>history<\/code><\/pre>\n\n\n\n<p>to start\/stop\/status\/restart service<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo service service_name status\nsudo service service_name start\nsudo service service_name stop\nsudo service service_name restart<\/code><\/pre>\n\n\n\n<p>add new user in linux<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>useradd &lt;username&gt;\nOR\nuseradd -G examplegroup exampleusername\ne.g.\nuseradd -G ftp jsmith\nOR\nadduser &lt;username&gt;<\/code><\/pre>\n\n\n\n<p>set password for new user<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>passwd &lt;username&gt;\ne.g.\npasswd jsmith<\/code><\/pre>\n\n\n\n<p>Check newly added or existing users or list all users<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>cat \/etc\/passwd\nOR\ncat \/etc\/passwd | grep home<\/code><\/pre>\n\n\n\n<p>Delete user<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>userdel &lt;username&gt;<\/code><\/pre>\n\n\n\n<p>add user in sudoers<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo adduser &lt;username&gt; sudo<\/code><\/pre>\n\n\n\n<p>you can edit sudoers file<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo vim \/etc\/sudoers\n\n#add jenkins as sudoer\njenkins        ALL=(ALL)       NOPASSWD: ALL<\/code><\/pre>\n\n\n\n<p>add user to group(s)<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>usermod -a -G group1,group2,group3 &lt;username&gt;<\/code><\/pre>\n\n\n\n<p>list all groups<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>cat \/etc\/group<\/code><\/pre>\n\n\n\n<p>list all users from specific group<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>getent group &lt;group_name&gt;<\/code><\/pre>\n\n\n\n<p>create new group<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>#groupadd &#91;OPTIONS] GROUPNAME\ngroupadd &lt;group_name&gt;\ngroupadd -f &lt;group_name&gt;<\/code><\/pre>\n\n\n\n<p>check user&#8217;s group name<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>groups &lt;user_name&gt;<\/code><\/pre>\n\n\n\n<p>delete group<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>groupdel &#91;OPTIONS] GROUPNAME\ngroupdel -f engg<\/code><\/pre>\n\n\n\n<p>To remove user from specific group<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>gpasswd -d &lt;user_name&gt; &lt;group_name&gt;\n#e.g. gpasswd -d priyanka engg<\/code><\/pre>\n\n\n\n<p>run script using user<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo -u &lt;user&gt; script\ne.g.\nsudo -u nginx \/var\/www\/html\/test.php<\/code><\/pre>\n\n\n\n<p>How to reset default user password on Ubuntu &#8211; WSL<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>#open ubuntu terminal\n\nwhoami\n\n#open pwershell terminal\n\nubuntu config --default-user root\n\n#again open Ubuntu terminal it will open default root user\n\npasswd &lt;username&gt;\n\n#open powershell\n\nubuntu config --default-user &lt;username&gt;\n\n#or you can switch from root to new user\nsudo -u &lt;newuser&gt; -s<\/code><\/pre>\n\n\n\n<h2>Intermediate<\/h2>\n\n\n\n<p>Create 10 files in current folder using command<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>touch {1..10}.txt<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>echo \"Hello World\" | tee {1..10}.txt &gt; \/dev\/null<\/code><\/pre>\n\n\n\n<p>Copy content from 1 file to all files<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>for i in {2..10}; do cp 1.txt $i.txt; done<\/code><\/pre>\n\n\n\n<p>Create 10 MB File from terminal<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>dd if=\/dev\/zero of=file_name bs=1M count=10\n\nOR\n\ntruncate -s 10M &lt;file_name&gt;<\/code><\/pre>\n\n\n\n<p>Create 1 GB file from terminal<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>dd if=\/dev\/zero of=file_name bs=1G count=1\n\nOR\n\ntruncate -s 1G &lt;file_name&gt;<\/code><\/pre>\n\n\n\n<h3>How to create readonly user for specific directory<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo adduser devro\nsudo setfacl -R -m u:devro:rx \/var\/www\/\nsudo setfacl -d -m u:devro:rx \/var\/www\/<\/code><\/pre>\n\n\n\n<h2>How to open remote software in gui<\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code>ssh -X user@host\n\nsoftware-name\n\ne.g. ssh -X root@192.168.1.123\n\nand then \n\nanydesk <\/code><\/pre>\n\n\n\n<p>This will open anydesk of local machine but it will be connected to remote server<\/p>\n\n\n\n<p>make sure software is installed on both servers<\/p>\n\n\n\n<h2>SSH Tunneling<\/h2>\n\n\n\n<p><strong>Tunneling<\/strong>: The <code>ssh -L<\/code> command sets up a local tunnel to forward traffic through <code>192.168.1.112<\/code> to <code>192.168.1.113<\/code>. Once the tunnel is active, <code>ssh web@localhost -p 2222<\/code> connects you to <code>192.168.1.113<\/code> through the tunnel.<\/p>\n\n\n\n<p><strong>SSHFS Mounting<\/strong>: The <code>sshfs<\/code> command uses the tunnel to mount the remote directory (<code>\/var\/www\/html\/project<\/code> on <code>192.168.1.113<\/code>) to a local directory (<code>~\/192_168_1_113<\/code>).<\/p>\n\n\n\n<p><strong>VS Code Integration<\/strong>: The final step opens the mounted directory in Visual Studio Code for editing.<br><br><\/p>\n\n\n\n<p>Syntax<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ssh -L local_ip:local_port:target_ip:target_port user@mediator_ip<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code># Step 1: Set up SSH tunnel to 2nd machine (192.168.1.112)\nssh -L localhost:2222:192.168.1.113:22 user@192.168.1.112\nOR\nssh -L 2222:192.168.1.113:22 user@192.168.1.112\nOR\nssh -N -L localhost:2222:192.168.1.113:22 user@192.168.1.112\n\n#Verify tunnel established or not\nnetstat -tulpn | grep 2222\n\n# Step 2: From your local machine, SSH into the 3rd machine (192.168.1.113) using the tunnel\nssh web@localhost -p 2222\n\n# Step 3: (Optional) If needed, create a local mount point for SSHFS\nmkdir -p ~\/192_168_1_113\n\n# Step 4: Mount the remote directory via SSHFS\nsshfs -p 2222 web@localhost:\/var\/www\/html\/project ~\/192_168_1_113\/\n\n# Step 5: Access the mounted directory\ncd ~\/192_168_1_113\/\n\n# Step 6: Open the project in Visual Studio Code\ncode .\n<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>search previously run command from history list running processes kill running process check linux version check configuration check hard disk space check current directory space create new directory change file\/directory permission ssh Connection ssh connection with port number and server alive interval to exit or logout from server To get ssh public key To create [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":874,"menu_order":10,"comment_status":"closed","ping_status":"closed","template":"","meta":[],"_links":{"self":[{"href":"https:\/\/codeinsightacademy.com\/blog\/wp-json\/wp\/v2\/pages\/506"}],"collection":[{"href":"https:\/\/codeinsightacademy.com\/blog\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/codeinsightacademy.com\/blog\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/codeinsightacademy.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/codeinsightacademy.com\/blog\/wp-json\/wp\/v2\/comments?post=506"}],"version-history":[{"count":67,"href":"https:\/\/codeinsightacademy.com\/blog\/wp-json\/wp\/v2\/pages\/506\/revisions"}],"predecessor-version":[{"id":2768,"href":"https:\/\/codeinsightacademy.com\/blog\/wp-json\/wp\/v2\/pages\/506\/revisions\/2768"}],"up":[{"embeddable":true,"href":"https:\/\/codeinsightacademy.com\/blog\/wp-json\/wp\/v2\/pages\/874"}],"wp:attachment":[{"href":"https:\/\/codeinsightacademy.com\/blog\/wp-json\/wp\/v2\/media?parent=506"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}